deepseek-nxopen/nxopen_api_fix/draw/NXOpen_Draw_API.py
2025-02-15 13:48:06 +08:00

375 lines
15 KiB
Python

import math
import NXOpen
import NXOpen.Assemblies
import NXOpen.Drafting
import NXOpen.Drawings
import NXOpen.Preferences
def main(args) :
theSession = NXOpen.Session.GetSession() #type: NXOpen.Session
workPart = theSession.Parts.Work
displayPart = theSession.Parts.Display
partFullPath = workPart.FullPath
theSession.ApplicationSwitchImmediate("UG_APP_DRAFTING")
workPart.Drafting.EnterDraftingApplication()
modelingView1 = workPart.ModelingViews.FindObject("Trimetric")
modelingView1.UpdateCustomSymbols()
draftingDrawingSheetBuilder1 = workPart.DraftingDrawingSheets.CreateDraftingDrawingSheetBuilder(NXOpen.Drawings.DraftingDrawingSheet.Null)
draftingDrawingSheetBuilder1.AutoStartViewCreation = True
draftingDrawingSheetBuilder1.Option = NXOpen.Drawings.DrawingSheetBuilder.SheetOption.CustomSize
draftingDrawingSheetBuilder1.StandardMetricScale = NXOpen.Drawings.DrawingSheetBuilder.SheetStandardMetricScale.S11
draftingDrawingSheetBuilder1.StandardEnglishScale = NXOpen.Drawings.DrawingSheetBuilder.SheetStandardEnglishScale.S11
draftingDrawingSheetBuilder1.Height = 841.0
draftingDrawingSheetBuilder1.Length = 1189.0
draftingDrawingSheetBuilder1.StandardMetricScale = NXOpen.Drawings.DrawingSheetBuilder.SheetStandardMetricScale.S11
draftingDrawingSheetBuilder1.StandardEnglishScale = NXOpen.Drawings.DrawingSheetBuilder.SheetStandardEnglishScale.S11
draftingDrawingSheetBuilder1.ScaleNumerator = 1.0
draftingDrawingSheetBuilder1.ScaleDenominator = 1.0
draftingDrawingSheetBuilder1.Units = NXOpen.Drawings.DrawingSheetBuilder.SheetUnits.Metric
draftingDrawingSheetBuilder1.ProjectionAngle = NXOpen.Drawings.DrawingSheetBuilder.SheetProjectionAngle.Third
draftingDrawingSheetBuilder1.Number = "1"
draftingDrawingSheetBuilder1.SecondaryNumber = ""
draftingDrawingSheetBuilder1.Revision = "A"
nXObject1 = draftingDrawingSheetBuilder1.Commit()
draftingDrawingSheetBuilder1.Destroy()
workPart.Drafting.SetTemplateInstantiationIsComplete(True)
workPart.DraftingManager.DrawingsFreezeOutOfDateComputation()
baseViewBuilder1 = workPart.DraftingViews.CreateBaseViewBuilder(NXOpen.Drawings.BaseView.Null)
modelingView2 = workPart.ModelingViews.FindObject("Top")
baseViewBuilder1.SelectModelView.SelectedView = modelingView2
baseViewBuilder1.SecondaryComponents.ObjectType = NXOpen.Drawings.DraftingComponentSelectionBuilder.Geometry.PrimaryGeometry
baseViewBuilder1.Style.ViewStyleBase.Part = workPart
baseViewBuilder1.Style.ViewStyleBase.PartName = partFullPath
loadStatus1 = workPart.IsFullyLoaded
baseViewBuilder1.SelectModelView.SelectedView = modelingView2
baseViewBuilder1.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
baseViewBuilder1.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = False
baseViewBuilder1.Style.ViewStyleOrientation.Ovt.NormalDirection = NXOpen.Direction.Null
baseViewBuilder1.Style.ViewStyleOrientation.Ovt.XDirection = NXOpen.Direction.Null
baseViewBuilder1.SelectModelView.SelectedView = modelingView2
baseViewBuilder1.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
baseViewBuilder1.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = False
modelingView3 = workPart.ModelingViews.FindObject("Front")
baseViewBuilder1.SelectModelView.SelectedView = modelingView3
baseViewBuilder1.Style.ViewStyleOrientation.Ovt.NormalDirection = NXOpen.Direction.Null
baseViewBuilder1.Style.ViewStyleOrientation.Ovt.XDirection = NXOpen.Direction.Null
baseViewBuilder1.Scale.Numerator = 3.0
point1 = NXOpen.Point3d(334.08210823909536, 666.29549676898228, 0.0)
baseViewBuilder1.Placement.Placement.SetValue(NXOpen.TaggedObject.Null, workPart.Views.WorkView, point1)
nXObject2 = baseViewBuilder1.Commit()
workPart.DraftingManager.DrawingsUnfreezeOutOfDateComputation()
baseViewBuilder1.Destroy()
workPart.DraftingManager.DrawingsFreezeOutOfDateComputation()
draftingDrawingSheet1 = nXObject1
draftingDrawingSheet1.Open()
projectedViewBuilder1 = workPart.DraftingViews.CreateProjectedViewBuilder(NXOpen.Drawings.ProjectedView.Null)
projectedViewBuilder1.Style.ViewStyleOrientation.HingeLine.Associative = True
projectedViewBuilder1.SecondaryComponents.ObjectType = NXOpen.Drawings.DraftingComponentSelectionBuilder.Geometry.PrimaryGeometry
unit1 = workPart.UnitCollection.FindObject("MilliMeter")
expression1 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1)
baseView1 = nXObject2
projectedViewBuilder1.Parent.View.Value = baseView1
projectedViewBuilder1.Style.ViewStyleBase.PartName = partFullPath
projectedViewBuilder1.Style.ViewStyleGeneral.ToleranceValue = 0.0080000080000000012
projectedViewBuilder1.Style.ViewStyleGeneral.Scale.Numerator = 3.0
projectedViewBuilder1.Style.ViewStyleGeneral.ExtractedEdges = NXOpen.Preferences.GeneralExtractedEdgesOption.Associative
vieworigin1 = NXOpen.Point3d(-50.0, -10.0, 50.0)
projectedViewBuilder1.Style.ViewStylePerspective.ViewOrigin = vieworigin1
projectedViewBuilder1.Placement.AlignmentView.Value = baseView1
projectedViewBuilder1.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
projectedViewBuilder1.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = True
projectedViewBuilder1.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder1.Placement.AlignmentView.Value = baseView1
point2 = NXOpen.Point3d(0.0, 0.0, 0.0)
projectedViewBuilder1.Placement.Placement.SetValue(baseView1, workPart.Views.WorkView, point2)
projectedViewBuilder1.Style.ViewStyleOrientation.HingeLine.ReverseDirection = True
point3 = NXOpen.Point3d(334.08210823909536, 319.53584410339272, 0.0)
projectedViewBuilder1.Placement.Placement.SetValue(NXOpen.TaggedObject.Null, workPart.Views.WorkView, point3)
projectedViewBuilder1.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder1.Placement.AlignmentView.Value = baseView1
nXObject3 = projectedViewBuilder1.Commit()
workPart.DraftingManager.DrawingsUnfreezeOutOfDateComputation()
projectedViewBuilder1.Destroy()
workPart.MeasureManager.SetPartTransientModification()
workPart.Expressions.Delete(expression1)
workPart.MeasureManager.ClearPartTransientModification()
workPart.DraftingManager.DrawingsFreezeOutOfDateComputation()
projectedViewBuilder2 = workPart.DraftingViews.CreateProjectedViewBuilder(NXOpen.Drawings.ProjectedView.Null)
projectedViewBuilder2.Style.ViewStyleOrientation.HingeLine.Associative = True
projectedViewBuilder2.SecondaryComponents.ObjectType = NXOpen.Drawings.DraftingComponentSelectionBuilder.Geometry.PrimaryGeometry
expression2 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1)
projectedViewBuilder2.Parent.View.Value = baseView1
projectedViewBuilder2.Style.ViewStyleBase.PartName = partFullPath
projectedViewBuilder2.Style.ViewStyleGeneral.ToleranceValue = 0.0080000080000000012
projectedViewBuilder2.Style.ViewStyleGeneral.Scale.Numerator = 3.0
projectedViewBuilder2.Style.ViewStyleGeneral.ExtractedEdges = NXOpen.Preferences.GeneralExtractedEdgesOption.Associative
vieworigin2 = NXOpen.Point3d(-50.0, -10.0, 50.0)
projectedViewBuilder2.Style.ViewStylePerspective.ViewOrigin = vieworigin2
projectedViewBuilder2.Placement.AlignmentView.Value = baseView1
projectedViewBuilder2.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
projectedViewBuilder2.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = True
projectedViewBuilder2.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder2.Placement.AlignmentView.Value = baseView1
projectedViewBuilder2.Style.ViewStyleOrientation.HingeLine.ReverseDirection = True
point4 = NXOpen.Point3d(788.07265751211639, 666.29549676898228, 0.0)
projectedViewBuilder2.Placement.Placement.SetValue(NXOpen.TaggedObject.Null, workPart.Views.WorkView, point4)
projectedViewBuilder2.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder2.Placement.AlignmentView.Value = baseView1
nXObject4 = projectedViewBuilder2.Commit()
workPart.DraftingManager.DrawingsUnfreezeOutOfDateComputation()
projectedViewBuilder2.Destroy()
workPart.MeasureManager.SetPartTransientModification()
workPart.Expressions.Delete(expression2)
workPart.MeasureManager.ClearPartTransientModification()
workPart.DraftingManager.DrawingsFreezeOutOfDateComputation()
projectedViewBuilder3 = workPart.DraftingViews.CreateProjectedViewBuilder(NXOpen.Drawings.ProjectedView.Null)
projectedViewBuilder3.Style.ViewStyleOrientation.HingeLine.Associative = True
projectedViewBuilder3.SecondaryComponents.ObjectType = NXOpen.Drawings.DraftingComponentSelectionBuilder.Geometry.PrimaryGeometry
expression3 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1)
projectedViewBuilder3.Parent.View.Value = baseView1
projectedViewBuilder3.Style.ViewStyleBase.PartName = partFullPath
projectedViewBuilder3.Style.ViewStyleGeneral.ToleranceValue = 0.0080000080000000012
projectedViewBuilder3.Style.ViewStyleGeneral.Scale.Numerator = 3.0
projectedViewBuilder3.Style.ViewStyleGeneral.ExtractedEdges = NXOpen.Preferences.GeneralExtractedEdgesOption.Associative
vieworigin3 = NXOpen.Point3d(-50.0, -10.0, 50.0)
projectedViewBuilder3.Style.ViewStylePerspective.ViewOrigin = vieworigin3
projectedViewBuilder3.Placement.AlignmentView.Value = baseView1
projectedViewBuilder3.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
projectedViewBuilder3.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = True
projectedViewBuilder3.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder3.Placement.AlignmentView.Value = baseView1
projectedViewBuilder3.Style.ViewStyleOrientation.HingeLine.ReverseDirection = True
projectedViewBuilder3.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder3.Placement.AlignmentView.Value = baseView1
workPart.DraftingManager.DrawingsUnfreezeOutOfDateComputation()
projectedViewBuilder3.Destroy()
workPart.MeasureManager.SetPartTransientModification()
workPart.Expressions.Delete(expression3)
workPart.MeasureManager.ClearPartTransientModification()
workPart.DraftingManager.DrawingsFreezeOutOfDateComputation()
baseViewBuilder2 = workPart.DraftingViews.CreateBaseViewBuilder(NXOpen.Drawings.BaseView.Null)
baseViewBuilder2.SelectModelView.SelectedView = modelingView2
baseViewBuilder2.SecondaryComponents.ObjectType = NXOpen.Drawings.DraftingComponentSelectionBuilder.Geometry.PrimaryGeometry
baseViewBuilder2.Style.ViewStyleBase.Part = workPart
baseViewBuilder2.Style.ViewStyleBase.PartName = partFullPath
loadStatus2 = workPart.IsFullyLoaded
baseViewBuilder2.SelectModelView.SelectedView = modelingView2
baseViewBuilder2.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
baseViewBuilder2.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = False
baseViewBuilder2.Style.ViewStyleOrientation.Ovt.NormalDirection = NXOpen.Direction.Null
baseViewBuilder2.Style.ViewStyleOrientation.Ovt.XDirection = NXOpen.Direction.Null
baseViewBuilder2.SelectModelView.SelectedView = modelingView2
baseViewBuilder2.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
baseViewBuilder2.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = False
modelingView4 = workPart.ModelingViews.FindObject("Isometric")
baseViewBuilder2.SelectModelView.SelectedView = modelingView4
baseViewBuilder2.Style.ViewStyleOrientation.Ovt.NormalDirection = NXOpen.Direction.Null
baseViewBuilder2.Style.ViewStyleOrientation.Ovt.XDirection = NXOpen.Direction.Null
baseViewBuilder2.Scale.Numerator = 3.0
point5 = NXOpen.Point3d(891.1257269789985, 290.29105411954777, 0.0)
baseViewBuilder2.Placement.Placement.SetValue(NXOpen.TaggedObject.Null, workPart.Views.WorkView, point5)
nXObject5 = baseViewBuilder2.Commit()
workPart.DraftingManager.DrawingsUnfreezeOutOfDateComputation()
baseViewBuilder2.Destroy()
workPart.DraftingManager.DrawingsFreezeOutOfDateComputation()
draftingDrawingSheet1.Open()
projectedViewBuilder4 = workPart.DraftingViews.CreateProjectedViewBuilder(NXOpen.Drawings.ProjectedView.Null)
projectedViewBuilder4.Style.ViewStyleOrientation.HingeLine.Associative = True
projectedViewBuilder4.SecondaryComponents.ObjectType = NXOpen.Drawings.DraftingComponentSelectionBuilder.Geometry.PrimaryGeometry
expression4 = workPart.Expressions.CreateSystemExpressionWithUnits("0", unit1)
baseView2 = nXObject5
projectedViewBuilder4.Parent.View.Value = baseView2
projectedViewBuilder4.Style.ViewStyleBase.PartName = partFullPath
projectedViewBuilder4.Style.ViewStyleGeneral.ToleranceValue = 0.039191843884530862
projectedViewBuilder4.Style.ViewStyleGeneral.Scale.Numerator = 3.0
projectedViewBuilder4.Style.ViewStyleGeneral.ExtractedEdges = NXOpen.Preferences.GeneralExtractedEdgesOption.Associative
vieworigin4 = NXOpen.Point3d(-70.710678118654755, -8.164965809277259, -5.7735026918962653)
projectedViewBuilder4.Style.ViewStylePerspective.ViewOrigin = vieworigin4
projectedViewBuilder4.Placement.AlignmentView.Value = baseView2
projectedViewBuilder4.Style.ViewStyleBase.Arrangement.SelectedArrangement = NXOpen.Assemblies.Arrangement.Null
projectedViewBuilder4.Style.ViewStyleBase.Arrangement.InheritArrangementFromParent = True
projectedViewBuilder4.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder4.Placement.AlignmentView.Value = baseView2
point6 = NXOpen.Point3d(0.0, 0.0, 0.0)
projectedViewBuilder4.Placement.Placement.SetValue(baseView2, workPart.Views.WorkView, point6)
projectedViewBuilder4.Placement.AlignmentView.Value = NXOpen.TaggedObject.Null
projectedViewBuilder4.Placement.AlignmentView.Value = baseView2
workPart.DraftingManager.DrawingsUnfreezeOutOfDateComputation()
projectedViewBuilder4.Destroy()
workPart.MeasureManager.SetPartTransientModification()
workPart.Expressions.Delete(expression4)
workPart.MeasureManager.ClearPartTransientModification()
if __name__ == '__main__':
main(sys.argv[1:])