Rendering bug?

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
jobermayr
Posts: 88
Joined: Fri Dec 02, 2011 4:39 pm
Location: Bavaria that's near Germany

Rendering bug?

Post by jobermayr »

I am not sure whether it is a rendering bug on right side (joint walls):

import Arch,Draft
Arch.makeWall(Draft.makeWire([FreeCAD.Vector(13110,1500,0),FreeCAD.Vector(5615,1500,0),FreeCAD.Vector(5615,0,0),FreeCAD.Vector(0,0,0),FreeCAD.Vector(0,11175,0),FreeCAD.Vector(13110,11175,0),FreeCAD.Vector(13110,0,0)],closed=False),align="Left")

For verification of DWire marks outside:
Draft.makeWire([FreeCAD.Vector(-100,0,0),FreeCAD.Vector(15000,0,0)],closed=False)
Draft.makeWire([FreeCAD.Vector(13110,-100,0),FreeCAD.Vector(13110,15000,0)],closed=False)
Draft.makeWire([FreeCAD.Vector(0,-100,0),FreeCAD.Vector(0,15000,0)],closed=False)
Draft.makeWire([FreeCAD.Vector(-100,1500,0),FreeCAD.Vector(15000,1500,0)],closed=False)


Yes, first Vector could also be (13110-width, 1500, 0) but IMHO that means the walls are not joint (and can clap easier apart if loaded "wrongly" ...).
Attachments
freecad_rendering_bug.png
freecad_rendering_bug.png (2.96 KiB) Viewed 4001 times
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Rendering bug?

Post by jmaustpc »

When you post your code like that, for me at least, PHPBB does not line wrap it, so I could not see half the code without first setting your post to edit mode. If you wrap your code in the "code" tag you get a horizontal scroll bar.

Code: Select all

import Arch,Draft
Arch.makeWall(Draft.makeWire([FreeCAD.Vector(13110,1500,0),FreeCAD.Vector(5615,1500,0),FreeCAD.Vector(5615,0,0),FreeCAD.Vector(0,0,0),FreeCAD.Vector(0,11175,0),FreeCAD.Vector(13110,11175,0),FreeCAD.Vector(13110,0,0)],closed=False),align="Left")
I tried this code and FreeCAD produced something totally different for the wall, I just got a 1mm cube for a wall.

If I select the wire which the code above produces, in the GUI and click wall, I do get a wall though.

What version of FreeCAD etc. are you tying this in? Perhaps you could post your FreeCAD help about data?

OS: Ubuntu 12.04.4 LTS
Platform: 64-bit
Version: 0.14.3203 (Git)
Branch: master
Hash: 83caf9d67ba419e0ab8769106a89a8f427e11a74
Python version: 2.7.3
Qt version: 4.8.2
Coin version: 3.1.3
SoQt version: 1.5.0
OCC version: 6.7.0
jobermayr
Posts: 88
Joined: Fri Dec 02, 2011 4:39 pm
Location: Bavaria that's near Germany

Re: Rendering bug?

Post by jobermayr »

jmaustpc wrote:I tried this code and FreeCAD produced something totally different for the wall, I just got a 1mm cube for a wall.

Code: Select all

>>> Arch.makeWall(Draft.makeWire([FreeCAD.Vector(13110,1500,0),FreeCAD.Vector(5615,1500,0),FreeCAD.Vector(5615,0,0),FreeCAD.Vector(0,0,0),FreeCAD.Vector(0,11175,0),FreeCAD.Vector(13110,11175,0),FreeCAD.Vector(13110,0,0)],closed=False),align="Left")
<Part::PartFeature>
>>> Gui.SendMsgToActiveView("ViewFit")
>>> FreeCAD.getDocument("Unnamed").getObject("Wall").Width = '199 mm'
>>> FreeCAD.getDocument("Unnamed").getObject("Wall").Width = '200 mm'
>>> FreeCAD.getDocument("Unnamed").getObject("Wall").Width = '200 mm'
>>> FreeCAD.getDocument("Unnamed").getObject("Wall").Offset = '0 mm'
>>> FreeCAD.getDocument("Unnamed").getObject("Wall").Height = '3000 mm'
>>> Gui.SendMsgToActiveView("ViewFit")
makes it visible ...
jmaustpc wrote:What version of FreeCAD etc. are you tying this in? Perhaps you could post your FreeCAD help about data?
https://pmbs.links2linux.de/package/rdi ... tra&rev=69

OS: "openSUSE 13.1 (Bottle) (x86_64)"
Platform: 64-bit
Version: 0.14.3210 (Git)
Branch: master
Hash: 63f930cb53887406def9533668390701aa572347
Python version: 2.7.5
Qt version: 4.8.5
Coin version: 3.1.3
SoQt version: 1.5.0
OCC version: 6.7.0
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Rendering bug?

Post by rockn »

Hi, I have the same behaviour here.

OS: Ubuntu 12.04.4 LTS
Platform: 64-bit
Version: 0.14.3245 (Git)
Branch: master
Hash: d632eb2843da9ccc8060df54ad36f5fd05264be1
Python version: 2.7.3
Qt version: 4.8.1
Coin version: 3.1.3
SoQt version: 1.5.0
OCC version: 6.5.1

I make a FCStd file with 3 identically Dwire and a different align of his wall.
And there is also 3 identically Sketch.
ArchWallIntersection.fcstd
(29.73 KiB) Downloaded 134 times
We see that align middle and left create a hole in wall...
Formations - Assistance - Développement : https://freecad-france.com
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Rendering bug?

Post by yorik »

Hm yeah, that is because self-intersections always create bad extrusions. So I use a function of OCC that "fixes" self-intersections before extruding. Unfortunately that fix function often gives that, it "removes" a piece of overlapping faces. Until now I didn't find a better solution...

At the moment, the best way to avoid this problem is, instead of using one big wire as a base, make smaller wall segments and unite them together with tha Arch Add tool.
User avatar
rockn
Veteran
Posts: 1791
Joined: Wed Sep 28, 2011 10:39 am
Location: Toulouse, France
Contact:

Re: Rendering bug?

Post by rockn »

Ok, Thank you to clarify this.
Formations - Assistance - Développement : https://freecad-france.com
Post Reply