AttachableArray, LinearArray, PolarArray: add 'external' reference option
This commit is contained in:
parent
d8a3293dbc
commit
32e840a941
|
@ -130,12 +130,17 @@ class AttachedPlacementSubsequence(lattice2BaseFeature.LatticeFeature):
|
|||
created = self.assureProperty(selfobj,
|
||||
'App::PropertyEnumeration',
|
||||
'ReferencePlacementOption',
|
||||
['origin', 'inherit', 'first placement', 'last placement'],
|
||||
['external', 'origin', 'inherit', 'first placement', 'last placement'],
|
||||
"Lattice Attached Placement Subsequence",
|
||||
"Reference placement, corresponds to the original occurrence of the object to be populated. 'inherit' = use reference placement of the base attached placement."
|
||||
)
|
||||
if created:
|
||||
selfobj.ReferencePlacementOption = 'inherit'
|
||||
|
||||
def recomputeReferencePlm(self, selfobj, selfplacements): #override
|
||||
if selfobj.ReferencePlacementOption == 'external':
|
||||
super(AttachedPlacementSubsequence, self).recomputeReferencePlm(selfobj, selfplacements)
|
||||
#the remaining options are handled in derivedExecute
|
||||
|
||||
def derivedExecute(self,obj):
|
||||
attacher = Part.AttachEngine(screen(obj.Base).AttacherType)
|
||||
|
@ -157,7 +162,9 @@ class AttachedPlacementSubsequence(lattice2BaseFeature.LatticeFeature):
|
|||
|
||||
#reference
|
||||
ref = obj.ReferencePlacementOption
|
||||
if ref == 'origin':
|
||||
if ref == 'external':
|
||||
pass #gets done in recomputeReferencePlm
|
||||
elif ref == 'origin':
|
||||
self.setReferencePlm(obj, None)
|
||||
elif ref == 'inherit':
|
||||
self.setReferencePlm(obj, lattice2BaseFeature.getReferencePlm(obj.Base))
|
||||
|
|
|
@ -109,7 +109,7 @@ class LinearArray(lattice2BaseFeature.LatticeFeature):
|
|||
created = self.assureProperty(selfobj,
|
||||
'App::PropertyEnumeration',
|
||||
'ReferencePlacementOption',
|
||||
['origin', 'SpanStart', 'SpanEnd', 'at custom value', 'first placement', 'last placement'],
|
||||
['external', 'origin', 'SpanStart', 'SpanEnd', 'at custom value', 'first placement', 'last placement'],
|
||||
"Lattice Array",
|
||||
"Reference placement, corresponds to the original occurrence of the object to be populated."
|
||||
)
|
||||
|
@ -117,6 +117,11 @@ class LinearArray(lattice2BaseFeature.LatticeFeature):
|
|||
selfobj.ReferencePlacementOption = 'SpanStart'
|
||||
self.assureProperty(selfobj, 'App::PropertyDistance', 'ReferenceValue', 0.0, "Lattice Array", "Sets the value to use for generating ReferencePlacement. This value sets, what coordinate the object to be populated corresponds to.")
|
||||
|
||||
def recomputeReferencePlm(self, selfobj, selfplacements): #override
|
||||
if selfobj.ReferencePlacementOption == 'external':
|
||||
super(LinearArray, self).recomputeReferencePlm(selfobj, selfplacements)
|
||||
#the remaining options are handled in derivedExecute
|
||||
|
||||
def derivedExecute(self,obj):
|
||||
self.assureGenerator(obj)
|
||||
self.updateReadonlyness(obj)
|
||||
|
@ -188,7 +193,9 @@ class LinearArray(lattice2BaseFeature.LatticeFeature):
|
|||
|
||||
# update reference placement
|
||||
ref = obj.ReferencePlacementOption
|
||||
if ref == 'origin':
|
||||
if ref == 'external':
|
||||
pass
|
||||
elif ref == 'origin':
|
||||
self.setReferencePlm(obj, None)
|
||||
elif ref == 'SpanStart':
|
||||
self.setReferencePlm(obj, plmByVal(float(obj.SpanStart)))
|
||||
|
|
|
@ -93,7 +93,7 @@ class PolarArray(APlm.AttachableFeature):
|
|||
created = self.assureProperty(selfobj,
|
||||
'App::PropertyEnumeration',
|
||||
'ReferencePlacementOption',
|
||||
['origin', 'center', 'SpanStart', 'SpanEnd', 'at custom value', 'first placement', 'last placement'],
|
||||
['external', 'origin', 'center', 'SpanStart', 'SpanEnd', 'at custom value', 'first placement', 'last placement'],
|
||||
"Polar Array",
|
||||
"Reference placement, corresponds to the original occurrence of the object to be populated."
|
||||
)
|
||||
|
@ -129,6 +129,11 @@ class PolarArray(APlm.AttachableFeature):
|
|||
sub = sub[0]
|
||||
#resolve the link
|
||||
return fetchArc(lnkobj, sub)
|
||||
|
||||
def recomputeReferencePlm(self, selfobj, selfplacements): #override
|
||||
if selfobj.ReferencePlacementOption == 'external':
|
||||
super(PolarArray, self).recomputeReferencePlm(selfobj, selfplacements)
|
||||
#the remaining options are handled in derivedExecute
|
||||
|
||||
def derivedExecute(self,selfobj):
|
||||
self.assureGenerator(selfobj)
|
||||
|
@ -221,7 +226,9 @@ class PolarArray(APlm.AttachableFeature):
|
|||
|
||||
# update reference placement
|
||||
ref = selfobj.ReferencePlacementOption
|
||||
if ref == 'origin':
|
||||
if ref == 'external':
|
||||
pass #gets done in recomputeReferencePlm
|
||||
elif ref == 'origin':
|
||||
self.setReferencePlm(selfobj, None)
|
||||
elif ref == 'center':
|
||||
self.setReferencePlm(selfobj, App.Placement())
|
||||
|
|
Loading…
Reference in New Issue
Block a user