constraint: improve draft circle handling
This commit is contained in:
parent
ac483c686b
commit
1e2cfc6447
|
@ -22,6 +22,12 @@ def _d(solver,partInfo,subname,shape,retAll=False):
|
||||||
raise RuntimeError('Invalid element {} of object {}'.format(subname,
|
raise RuntimeError('Invalid element {} of object {}'.format(subname,
|
||||||
partInfo.PartName))
|
partInfo.PartName))
|
||||||
|
|
||||||
|
def _prepareDraftCircle(solver,partInfo,requireArc=False):
|
||||||
|
part = partInfo.Part
|
||||||
|
shape = utils.getElementShape((part,'Edge1'),Part.Edge)
|
||||||
|
func = _a if requireArc else _c
|
||||||
|
return func(solver,partInfo,'Edge1',shape,retAll=True)
|
||||||
|
|
||||||
def _p(solver,partInfo,subname,shape,retAll=False):
|
def _p(solver,partInfo,subname,shape,retAll=False):
|
||||||
'return a handle of a transformed point derived from "shape"'
|
'return a handle of a transformed point derived from "shape"'
|
||||||
if not solver:
|
if not solver:
|
||||||
|
@ -62,17 +68,18 @@ def _p(solver,partInfo,subname,shape,retAll=False):
|
||||||
partInfo.PartName,e2,system.sketchPlane[0]))
|
partInfo.PartName,e2,system.sketchPlane[0]))
|
||||||
|
|
||||||
elif utils.isDraftCircle(part):
|
elif utils.isDraftCircle(part):
|
||||||
shape = utils.getElementShape((part,'Edge1'),Part.Edge)
|
requireArc = subname=='Vertex2'
|
||||||
if subname == 'Vertex1':
|
e = _prepareDraftCircle(solver,partInfo,requireArc)
|
||||||
e = _c(solver,partInfo,'Edge1',shape,retAll=True)
|
if requireArc:
|
||||||
h = [e[2]]
|
|
||||||
elif subname == 'Vertex2':
|
|
||||||
e = _a(solver,partInfo,'Edge1',shape,retAll=True)
|
|
||||||
h = [e[1]]
|
h = [e[1]]
|
||||||
|
elif subname=='Vertex1':
|
||||||
|
h = [e[2]]
|
||||||
|
elif subname=='Edge1':
|
||||||
|
# center point
|
||||||
|
h = [partInfo.Workplane[1]]
|
||||||
else:
|
else:
|
||||||
raise RuntimeError('Invalid draft circle vertex {} of '
|
raise RuntimeError('Invalid draft circle subname {} of '
|
||||||
'{}'.format(subname,partInfo.PartName))
|
'{}'.format(subname,partInfo.PartName))
|
||||||
|
|
||||||
system.log('{}: add circle point {},{}'.format(key,h,e))
|
system.log('{}: add circle point {},{}'.format(key,h,e))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -106,6 +113,9 @@ def _n(solver,partInfo,subname,shape,retAll=False):
|
||||||
else:
|
else:
|
||||||
h = []
|
h = []
|
||||||
|
|
||||||
|
if utils.isDraftCircle(partInfo.Part):
|
||||||
|
_prepareDraftCircle(solver,partInfo)
|
||||||
|
|
||||||
rot = utils.getElementRotation(shape)
|
rot = utils.getElementRotation(shape)
|
||||||
nameTag = partInfo.PartName + '.' + key
|
nameTag = partInfo.PartName + '.' + key
|
||||||
system.NameTag = nameTag
|
system.NameTag = nameTag
|
||||||
|
|
Loading…
Reference in New Issue
Block a user