Inserting a window into a wall, violates sketches

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
CandL
Posts: 85
Joined: Thu Oct 29, 2020 6:41 pm

Inserting a window into a wall, violates sketches

Post by CandL »

I am trying to put a window into a wall and think I may found an issue…. But then again it could be me.

I am creating an “as-built” model of my house for an architect to use. To do so I make a number of sketches as per the recommendation of: https://www.freecad.info/index.php/2020 ... l-command/ (multiple small sketches avoiding the topology rename issue)

I can create a the wall just fine, and the model tree looks clean. (no icon markers, and report view empty)

I toggle visibility OFF on all but the desired wall (not sure if visibility also removes it from the selection process)

I then in the BIM or Arch workbench, select a face for a window, set the working plane to that face (with grid on) … and then add a window. Things seem to go fine but the model tree now has red exclamation marks and this appears in the report view. (Note: the window is being inserted into a wall created by object “Sketch” (I assume Sketch000 by convention)

Code: Select all

13:52:51 Choose a face on an existing object or select a preset
13:53:03 Sketcher constraint number 1 is malformed!
13:53:03 Sketch Sketch001 has malformed constraints!
13:53:03 Updating geometry: Error build geometry(0): Both points are equal
13:53:03 Invalid solution from DogLeg solver.
13:53:03 Traceback (most recent call last):
File "C:\Program Files\FreeCAD 0.19\Mod\Arch\ArchWall.py", line 788, in execute
extdata = self.getExtrusionData(obj)
File "C:\Program Files\FreeCAD 0.19\Mod\Arch\ArchWall.py", line 1411, in getExtrusionData
w2 = DraftGeomUtils.offsetWire(wire, dvec,
File "C:\Program Files\FreeCAD 0.19\Mod\Draft\draftgeoutils\offsets.py", line 420, in offsetWire
nedge = offset(curredge, delta, trim=True)
File "C:\Program Files\FreeCAD 0.19\Mod\Draft\draftgeoutils\offsets.py", line 146, in offset
return Part.LineSegment(v1, v2).toShape()
<class 'Part.OCCError'>: Both points are equal
So my thoughts:
1) Sketch001 should not even be involved with the window
2) Constraint 1 in sketch001 is a point on object (the object referenced happens to be external geometry, that is in fact part of wall getting the window …. crud is this a topology issue again?)

Where do I go from here? Is this a bug report? (I can make the file available)

Am I better of trying the "realthunder" branch which supposedly has the topology issue resolved

I really hope this is not a topology issue, I REALLY like sketches.

Details:
Freecad versions .19 and .20
Windows 11


Thanks
Carl
User avatar
Roy_043
Veteran
Posts: 8450
Joined: Thu Dec 27, 2018 12:28 pm

Re: Inserting a window into a wall, violates sketches

Post by Roy_043 »

CandL wrote: Fri Feb 18, 2022 7:21 pm I really hope this is not a topology issue
Sadly it probably is. Adding the window changes the topology of the wall, resulting in renamed edges. This then messes up the external reference in Sketch001. I can't open the link you have provided, but it is not an official FreeCAD site.
CandL
Posts: 85
Joined: Thu Oct 29, 2020 6:41 pm

Re: Inserting a window into a wall, violates sketches

Post by CandL »

So I was using reference geometry (derived from a sketch) to constrain my "sub" sketches. If I put in "construction" planes can I use them as a reference in my sketches ... as in dimension against them?

Or am I just prolonging the problem with topology?
Post Reply