[ Comments Request /PR ] Intuitive Automatic Windows/Doors + Equipment Placement

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by paullee »

A few commits done and some cleanup to pave way for Support for Floor Area Calculation incorporation :)

Particularly Attachment Alignment Options updated to [WallLeft, WallRight, Left, Right]

SketchArch WB
Update the addon by dowloading at github or simply replace below file
  1. SketchArch WB in https://github.com/paullee0/FreeCAD_SketchArch
  2. ArchSketchObject.py
    (68.5 KiB) Downloaded 61 times
See if anyone would like to help testing and bugging :)
balrobs
Posts: 449
Joined: Fri Apr 24, 2020 8:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by balrobs »

paullee wrote: Wed Mar 31, 2021 8:07 pm ..
See if anyone would like to help testing and bugging :)
Hi paullee,
while testing I noticed a possible regression for the "edit wall segment width" command.
Selecting an Archsketch and clicking on the corresponding icon the sketcher opens but after selecting a wall segment I see following error messages:

Code: Select all

14:55:45  Input Width
14:55:45  Traceback (most recent call last):
  File "C:\Users\balrobs\AppData\Roaming\FreeCAD\Mod\FreeCAD_SketchArch\SketchArchCommands.py", line 52, in addSelection
    self.proceed(doc, obj, sub, pnt)				
  File "C:\Users\balrobs\AppData\Roaming\FreeCAD\Mod\FreeCAD_SketchArch\ArchSketchObject.py", line 535, in proceed
    curWidth = self.targetArchSketch.ArchSketchWidth.Value							
<class 'AttributeError'>: 'FeaturePython' object has no attribute 'ArchSketchWidth'
Any idea what's going wrong? Thank you for improving your WB!

Code: Select all

OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.6+
Qt version: 5.15.1
Coin version: 4.0.1
OCC version: 7.5.0
Locale: German/Germany (de_DE)
Edit: In RT Link branch the input box doesn't pop up eighter but there is no error message!
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by paullee »

balrobs wrote: Thu Apr 01, 2021 1:00 pm while testing I noticed a possible regression for the "edit wall segment width" command.
Selecting an Archsketch and clicking on the corresponding icon the sketcher opens but after selecting a wall segment I see following error messages:
Have been thinking what should be done... found this ArchSketchWidth property is not used at the moment and was removed earlier in Jan 2021 so the bug :)

This was supposedly to be a 'default' Width for all edges in the ArchSketch if per edge width is not particularly defined for an edge. I even find there was an 'Align' property in ArchSketch (why not 'ArchSketchAlign' :roll: ), which supposedly provide similar default behaviour.

OK, a fix before the properties be added back later.

Thanks for testing and suggestions of ideas in development !

SketchArch WB
Update the addon by dowloading at github or simply replace below file
  1. SketchArch WB in https://github.com/paullee0/FreeCAD_SketchArch
  2. ArchSketchObject.py
    (68.38 KiB) Downloaded 53 times
Screenshot from 2021-04-02 06-25-15.png
Screenshot from 2021-04-02 06-25-15.png (251.07 KiB) Viewed 3299 times
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by paullee »

Initial thoughts and development on :

Attachment to Spaces / Rooms

This is more than automatic placement / attachment, maybe separate thread later :)


CellComplex + Room Definition (area calculation)

User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by Pauvres_honteux »

paullee wrote:
Have you considered replacing your window attachment from wall surface to wall plane?


Something like this? (click tiny up-arrow to the right)
Pauvres_honteux wrote: Fri Jun 04, 2021 1:28 pm
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by paullee »

Pauvres_honteux wrote: Fri Jun 04, 2021 6:18 pm
paullee wrote:
Have you considered replacing your window attachment from wall surface to wall plane?

Something like this? (click tiny up-arrow to the right)
Not sure I understand - you mean the 'axis' of the Wall instead of its surfaces on either sides?

It is supported, there are currently:

Align to surface of wall
- WallLeft
- WallRight

Align to 'axis' of wall (e.g. edges of base Sketch or Wire)
- Left
- Right

Screenshot from 2021-06-05 02-28-35.png
Screenshot from 2021-06-05 02-28-35.png (284.17 KiB) Viewed 3031 times
Screenshot from 2021-06-05 02-28-46.png
Screenshot from 2021-06-05 02-28-46.png (290.99 KiB) Viewed 3031 times
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by Pauvres_honteux »

paullee wrote: Fri Jun 04, 2021 6:32 pm
Not sure I understand...
I was thinking about Topological naming problem. Specifically "Use of supporting datum objects like planes and local coordinate systems is strongly recommended to produce models that aren't easily subject to such topological errors."

I suspect Realthunders topo naming fix will work less well, the larger your models get. Therefor I suggest a cautious approach to the modelling principle, especially when you make things automagic.

If I may extrapolate my experience from the top end of todays cad systems (which also experience topo naming problems when the models increase in byte size) I'd say build your automagic stuff in such a way it solely relays on points, lines, curves, planes and only in exceptional cases make use of surfaces. But never use a solid as a parent for anything.
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by Pauvres_honteux »

You may need these changes to make it work:

issue #4616: Request for a "Replacement command".
issue #4250: Sketcher placement and its axis visualisation.
issue #4482: Create point on plane while at the same time beeing connected to another point in/on the same plane.
issue #3301: Container for intersections.
issue #4202: Working points, lines and planes.
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by paullee »

Pauvres_honteux wrote: Sun Jun 06, 2021 7:14 am I was thinking about Topological naming problem. Specifically "Use of supporting datum objects like planes and local coordinate systems is strongly recommended to produce models that aren't easily subject to such topological errors."
Thanks, I see!

Somehow I use Tag in Sketch Geometry @abdullah helped and I do not suffer from 'topological naming' problem. I use extensively in the modelling e.g. the Villa Savoye.
sketch.Geometry[index].Tag == Unique identification survive changes?

I have long would like to expose that feature in the experimental add-on and hope it helps.
paullee
Veteran
Posts: 5092
Joined: Wed May 04, 2016 3:58 pm

Re: [ Comments Request ] Intuitive Automatic Windows/Doors + Equipment Placement

Post by paullee »

Planning to push commit to enable 'kind of toponaming-tolerant' feature
- so editing the Base Sketch of an ArchWall would not have impact on identification of the intended edge for automatic attachment.

First cleaning up before further works, anyone would like to help testing? Thanks :)

SketchArch WB
Update the addon by simply replacing below file (not updating at github at the moment)
  1. ArchSketchObject.py
    (70.94 KiB) Downloaded 51 times
  2. ArchEquipment.py
    (18.41 KiB) Downloaded 55 times
  3. ArchWindow.py
    (74.25 KiB) Downloaded 53 times
Example Model File for Testing
Previous model should works and not repeating
Post Reply