-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdrawing_standard_beta.py
129 lines (110 loc) · 5.73 KB
/
drawing_standard_beta.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import re
import NXOpen
import NXOpen.Annotations
import NXOpen.Drafting
import NXOpen.Drawings
import NXOpen.UF
def main() :
debug = 2
theSession = NXOpen.Session.GetSession()
workPart = theSession.Parts.Work
theUI = NXOpen.UI.GetUI()
lw = theSession.ListingWindow
theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible,"Vor_Skript")
displayPart = theSession.Parts.Display
views = workPart.DraftingViews
draftingdrawings = workPart.DraftingDrawingSheets
sheets = workPart.DrawingSheets
#for sheet in sheets:
# lw.WriteLine(str(sheet.Height))
lw.Open()
notes = workPart.Notes
symbols = workPart.Annotations.IdSymbols
sizemm = 3.5
factorLabels = 1.4285714285
factorfont = 1.0
layerlist = [110]
for view in views:
#editViewSettingsBuilder1.ViewDetailLabel.LabelCharacterHeightFactor = factorLables
#editViewSettingsBuilder1.ViewDetailLabel.ScaleCharacterHeightFactor = factorfont
if isinstance(view,NXOpen.Drawings.BaseView):
#lw.WriteLine("Baseview\n")
editViewSettingsBuilder1 = workPart.SettingsManager.CreateDrawingEditViewSettingsBuilder([view])
editViewSettingsBuilder1.ViewLabel.LabelCharacterHeightFactor = factorfont #factorLabels
editViewSettingsBuilder1.ViewLabel.ScaleCharacterHeightFactor = factorfont * 0.7
nXObject1 = editViewSettingsBuilder1.Commit()
editViewSettingsBuilder1.Destroy()
elif isinstance(view,NXOpen.Drawings.DetailView):
#lw.WriteLine("Detailview\n")
editViewSettingsBuilder1 = workPart.SettingsManager.CreateDrawingEditViewSettingsBuilder([view])
editViewSettingsBuilder1.ViewDetailLabel.LabelCharacterHeightFactor = factorLabels
editViewSettingsBuilder1.ViewDetailLabel.ScaleCharacterHeightFactor = factorfont
nXObject1 = editViewSettingsBuilder1.Commit()
editViewSettingsBuilder1.Destroy()
elif isinstance(view,NXOpen.Drawings.ProjectedView):
#lw.WriteLine("Projected\n")
editViewSettingsBuilder1 = workPart.SettingsManager.CreateDrawingEditViewSettingsBuilder([view])
editViewSettingsBuilder1.ViewProjectedLabel.LabelCharacterHeightFactor = 1.5
editViewSettingsBuilder1.ViewProjectedLabel.ScaleCharacterHeightFactor = 1.0
editViewSettingsBuilder1.ViewStyle.ViewProjectedArrowSettings.SizeFactor = factorLabels
#editViewSettingsBuilder1.ViewDetailLabel.ScaleCharacterHeightFactor = factorfont
nXObject1 = editViewSettingsBuilder1.Commit()
editViewSettingsBuilder1.Destroy()
elif isinstance(view,NXOpen.Drawings.SectionView):
#lw.WriteLine("Section\n")
editViewSettingsBuilder1 = workPart.SettingsManager.CreateDrawingEditViewSettingsBuilder([view])
editViewSettingsBuilder1.ViewSectionLabel.LabelCharacterHeightFactor = factorLabels
nXObject1 = editViewSettingsBuilder1.Commit()
editViewSettingsBuilder1.Destroy()
#lw.WriteLine("\n-> notes:\n")
a = []
for note in notes:
a.append(note)
seen = {}
dupes = []
for x in a:
if x not in seen:
seen[x] = 1
else:
if seen[x] == 1:
dupes.append(x)
seen[x] += 1
for note in notes:
if note.Layer in layerlist:
if note.GetText()[0].find("VWNAME") > 0:
editViewLabelSettingsBuilder1 = workPart.SettingsManager.CreateAnnotationEditSettingsBuilder([note])
#workPart.SettingsManager.ProcessForMultipleObjectsSettings([editViewLabelSettingsBuilder1])
editViewLabelSettingsBuilder1.AnnotationStyle.LetteringStyle.GeneralTextSize = 5.0
nXObject1 = editViewLabelSettingsBuilder1.Commit()
editViewLabelSettingsBuilder1.Destroy()
else:
editViewLabelSettingsBuilder1 = workPart.SettingsManager.CreateAnnotationEditSettingsBuilder([note])
#workPart.SettingsManager.ProcessForMultipleObjectsSettings([editViewLabelSettingsBuilder1])
editViewLabelSettingsBuilder1.AnnotationStyle.LetteringStyle.GeneralTextSize = 3.5
nXObject1 = editViewLabelSettingsBuilder1.Commit()
editViewLabelSettingsBuilder1.Destroy()
workPartdp = theSession.Parts.Display
labels = workPart.Labels
# notes with a leader (arrow to object) become a leader
#lw.WriteLine("\n-> Labels:\n")
for label in labels:
editSettingsBuilder1 = workPart.SettingsManager.CreateAnnotationEditSettingsBuilder([label])
editSettingsBuilder1.AnnotationStyle.LetteringStyle.GeneralTextSize = 3.5
editSettingsBuilder1.AnnotationStyle.LineArrowStyle.FirstArrowheadWidth = NXOpen.Annotations.LineWidth.Four
nXObject1 = editSettingsBuilder1.Commit()
editSettingsBuilder1.Destroy()
#lw.WriteLine("\n-> ID Symbols:\n")
for symbol in symbols:
editSettingsBuilder1 = workPart.SettingsManager.CreateAnnotationEditSettingsBuilder([symbol])
editsettingsbuilders1 = [NXOpen.Drafting.BaseEditSettingsBuilder.Null] * 1
editsettingsbuilders1[0] = editSettingsBuilder1
workPart.SettingsManager.ProcessForMultipleObjectsSettings(editsettingsbuilders1)
editSettingsBuilder1.AnnotationStyle.LetteringStyle.GeneralTextSize = 5.0
editSettingsBuilder1.AnnotationStyle.SymbolStyle.IdSymbolSize = 15.0
editSettingsBuilder1.AnnotationStyle.SymbolStyle.IdSymbolWidth = NXOpen.Annotations.LineWidth.Four
nXObject1 = editSettingsBuilder1.Commit()
editSettingsBuilder1.Destroy()
lw.Close()
theSession.CleanUpFacetedFacesAndEdges()
if __name__ == '__main__':
main()