-
Notifications
You must be signed in to change notification settings - Fork 108
/
Copy pathDuplicateOnFaces.py
21 lines (17 loc) · 1.3 KB
/
DuplicateOnFaces.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.GetActiveProject()
oDesign = oProject.GetActiveDesign()
oEditor = oDesign.SetActiveEditor("3D Modeler")
objs=oEditor.GetSelections()
fcs=[]
for i in range (1,len(objs),1) :
oFaceIDs = oEditor.GetFaceIDs(str(objs[i]))
oVertexIDs = oEditor.GetVertexIDsFromFace(str(oFaceIDs[0]))
oEditor.CreateFaceCS(["NAME:FaceCSParameters",["NAME:Origin","IsAttachedToEntity:=",True,"EntityID:=",int(oFaceIDs[0]),"FacetedBodyTriangleIndex:=",-1,"TriangleVertexIndex:=",-1,"PositionType:=","FaceCenter","UParam:=",0,"VParam:=",0,"XPosition:=","0","YPosition:=","0","ZPosition:=","0"],"MoveToEnd:=",False,"FaceID:=",int(oFaceIDs[0]),["NAME:AxisPosn","IsAttachedToEntity:=",True,"EntityID:=",int(oVertexIDs[0]),"FacetedBodyTriangleIndex:=",-1,"TriangleVertexIndex:=",-1,"PositionType:=","OnVertex","UParam:=",0,"VParam:=",0,"XPosition:=","0","YPosition:=","0","ZPosition:=","0"],"WhichAxis:=","X"],["NAME:Attributes","Name:=","FaceCS"+objs[i],"PartName:=",objs[i]])
fcs.append("FaceCS"+objs[i])
for j in fcs:
oEditor.Copy(["NAME:Selections","Selections:=",str(objs[0])])
oEditor.SetWCS(["NAME:SetWCSParameter","Working Coordinate System:=",j,"RegionDepCSOk:=",False])
oEditor.Paste()