Skip to content

Commit

Permalink
Arch: misc minor bugfixes
Browse files Browse the repository at this point in the history
  • Loading branch information
yorikvanhavre committed Mar 8, 2017
1 parent 08d8f70 commit 177c350
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 16 deletions.
10 changes: 6 additions & 4 deletions src/Mod/Arch/ArchComponent.py
Expand Up @@ -678,15 +678,17 @@ def updateData(self,obj,prop):
if obj.Base:
if obj.Base.isDerivedFrom("Part::Compound"):
if obj.ViewObject.DiffuseColor != obj.Base.ViewObject.DiffuseColor:
obj.ViewObject.DiffuseColor = obj.Base.ViewObject.DiffuseColor
obj.ViewObject.update()
self.onChanged(obj.ViewObject,"ShapeColor")
if len(obj.Base.ViewObject.DiffuseColor) > 1:
obj.ViewObject.DiffuseColor = obj.Base.ViewObject.DiffuseColor
obj.ViewObject.update()
#self.onChanged(obj.ViewObject,"ShapeColor")
elif prop == "CloneOf":
if obj.CloneOf and not(obj.BaseMaterial):
if obj.ViewObject.DiffuseColor != obj.CloneOf.ViewObject.DiffuseColor:
if len(obj.CloneOf.ViewObject.DiffuseColor) > 1:
obj.ViewObject.DiffuseColor = obj.CloneOf.ViewObject.DiffuseColor
obj.ViewObject.update()
self.onChanged(obj.ViewObject,"ShapeColor")
#self.onChanged(obj.ViewObject,"ShapeColor")
return

def getIcon(self):
Expand Down
1 change: 1 addition & 0 deletions src/Mod/Arch/ArchSectionPlane.py
Expand Up @@ -258,6 +258,7 @@ def getSVG(section,allOn=False,renderMode="Wireframe",showHidden=False,showFill=
if not techdraw:
svg += '</g>'
# add additional edge symbols from windows
cutwindows = []
if cutface and windows:
cutwindows = [w.Name for w in windows if w.Shape.BoundBox.intersect(cutface.BoundBox)]
if windows:
Expand Down
10 changes: 6 additions & 4 deletions src/Mod/Arch/ArchWindow.py
Expand Up @@ -999,10 +999,12 @@ def updateData(self,obj,prop):

def onChanged(self,vobj,prop):
if (prop == "DiffuseColor") and vobj.Object:
if len(vobj.DiffuseColor) < 2:
if vobj.Object.Shape:
if not vobj.Object.Shape.isNull():
self.colorize(vobj.Object)
if vobj.Object.Base:
if not vobj.Object.Base.Shape.Solids:
if len(vobj.DiffuseColor) < 2:
if vobj.Object.Shape:
if not vobj.Object.Shape.isNull():
self.colorize(vobj.Object)
ArchComponent.ViewProviderComponent.onChanged(self,vobj,prop)

def setEdit(self,vobj,mode):
Expand Down
19 changes: 11 additions & 8 deletions src/Mod/Arch/importIFC.py
Expand Up @@ -1750,14 +1750,17 @@ def getRepresentation(ifcfile,context,obj,forcebrep=False,subtraction=False,tess
for wire in fcface.Wires:
if wire.hashCode() != fcface.OuterWire.hashCode():
verts = [v.Point for v in wire.OrderedVertexes]
v1 = verts[0].sub(c)
v2 = verts[1].sub(c)
if DraftVecUtils.angle(v2,v1,DraftVecUtils.neg(n)) >= 0:
verts.reverse()
pts = [ifcfile.createIfcCartesianPoint(tuple(v)) for v in verts]
loop = ifcfile.createIfcPolyLoop(pts)
bound = ifcfile.createIfcFaceBound(loop,True)
loops.append(bound)
if len(verts) > 1:
v1 = verts[0].sub(c)
v2 = verts[1].sub(c)
if DraftVecUtils.angle(v2,v1,DraftVecUtils.neg(n)) >= 0:
verts.reverse()
pts = [ifcfile.createIfcCartesianPoint(tuple(v)) for v in verts]
loop = ifcfile.createIfcPolyLoop(pts)
bound = ifcfile.createIfcFaceBound(loop,True)
loops.append(bound)
else:
print ("Warning: wire with one/no vertex in ",obj.Label)
face = ifcfile.createIfcFace(loops)
faces.append(face)

Expand Down

0 comments on commit 177c350

Please sign in to comment.