Arch: Fixed export of non-ortho extrusions to IFC
This commit is contained in:
@@ -1925,11 +1925,10 @@ def getRepresentation(ifcfile,context,obj,forcebrep=False,subtraction=False,tess
|
||||
if (not shapes) and obj.isDerivedFrom("Part::Extrusion"):
|
||||
import ArchComponent
|
||||
pstr = str([v.Point for v in obj.Base.Shape.Vertexes])
|
||||
pr = obj.Base.Shape.copy()
|
||||
pr.scale(preferences['SCALE_FACTOR'])
|
||||
profile,pl = ArchComponent.Component.rebase(obj,obj.Base.Shape)
|
||||
profile.scale(preferences['SCALE_FACTOR'])
|
||||
pl.Base = pl.Base.multiply(preferences['SCALE_FACTOR'])
|
||||
profile = getProfile(ifcfile,pr)
|
||||
profile = getProfile(ifcfile,profile)
|
||||
if profile:
|
||||
profiledefs[pstr] = profile
|
||||
ev = obj.Dir
|
||||
@@ -1937,6 +1936,7 @@ def getRepresentation(ifcfile,context,obj,forcebrep=False,subtraction=False,tess
|
||||
if l:
|
||||
ev.multiply(l)
|
||||
ev.multiply(preferences['SCALE_FACTOR'])
|
||||
ev = pl.Rotation.inverted().multVec(ev)
|
||||
xvc = ifcbin.createIfcDirection(tuple(pl.Rotation.multVec(FreeCAD.Vector(1,0,0))))
|
||||
zvc = ifcbin.createIfcDirection(tuple(pl.Rotation.multVec(FreeCAD.Vector(0,0,1))))
|
||||
ovc = ifcbin.createIfcCartesianPoint(tuple(pl.Base))
|
||||
|
||||
Reference in New Issue
Block a user