Page 1 of 2

Arch WB Wall and splines

Posted: Fri Feb 03, 2023 12:33 am
by drmacro
Should Arch Wall tool work with splines in 0.21?

It seems to be broken here. Basically just ignores the spline in a sketch.

Code: Select all

OS: Ubuntu 22.04.1 LTS (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.21.0.31709 (Git) AppImage
Build type: Release
Branch: master
Hash: e188802ca6997d2564e7570ab648462e6a059f87
Python 3.10.8, Qt 5.15.6, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: English/United States (en_US)
Installed mods: 
  * Manipulator 1.5.0
  * Defeaturing 1.2.0
  * Curves 0.6.5
  * DynamicData 2.46.0
  * freecad.gears 1.0.0
  * fasteners 0.4.54
  * A2plus 0.4.60i
  * Assembly4 0.12.5
  * sheetmetal 0.2.61
  * CurvedShapes 1.0.4
  * lattice2 1.0.0

Re: Arch WB Wall and splines

Posted: Fri Feb 03, 2023 10:24 am
by Roy_043
Some edges in sketches are indeed ignored.
viewtopic.php?p=652253&sid=aabcab5bee63 ... cf#p652253

If you use an intermediate PartDesign_SubShapeBinder you will find that the wall algorithm in fact cannot handle splines.

Re: Arch WB Wall and splines

Posted: Fri Feb 03, 2023 11:59 am
by user1234
From a bricklayers point of view, hell no!

Greetings
user1234

Re: Arch WB Wall and splines

Posted: Fri Feb 03, 2023 2:47 pm
by drmacro
user1234 wrote: Fri Feb 03, 2023 11:59 am From a bricklayers point of view, hell no!

Greetings
user1234
True, for building walls. ;)

But, the wall tool is great for being able to lay a centerline and create a solid. Since it can be like the, the much opined, lacking offset capabilities in sketcher.

And, the wall tool seems to be better at handling most shapes...except a spline.

That said, there are plenty of buildings with curvy walls. :)

As for offsets in general, I have to say I agree with the general opinion that offset is a ubiquitous tool in virtually every other CAD/drawing software system and in FC a comprehensive system wide offset capability seems to be missing. :roll:

Re: Arch WB Wall and splines

Posted: Fri Feb 03, 2023 3:58 pm
by paullee
Just wonder what is the mathematics of offsetting spline, someone can advise ? And it can be added to ArchWall :D

Re: Arch WB Wall and splines

Posted: Fri Feb 03, 2023 6:52 pm
by user1234
drmacro wrote: Fri Feb 03, 2023 2:47 pm
user1234 wrote: Fri Feb 03, 2023 11:59 am From a bricklayers point of view, hell no!
True, for building walls. ;)
It was, more or less, a joke, but i would still refuse to build a wall like that, if this have not a technical reason, like a concrete spiral for a turbine.


Greetings
user1234

Re: Arch WB Wall and splines

Posted: Sun Feb 05, 2023 4:20 pm
by Hologram
user1234 wrote: Fri Feb 03, 2023 11:59 am From a bricklayers point of view, hell no!
In the present and in the near future in particular, we can use robots to construct curvy or patterned walls (especially with Pre-fab). ;)

Re: Arch WB Wall and splines

Posted: Sun Feb 05, 2023 4:26 pm
by onekk
paullee wrote: Fri Feb 03, 2023 3:58 pm Just wonder what is the mathematics of offsetting spline, someone can advise ? And it can be added to ArchWall :D
I don0t know the mathematics but you could use:

Code: Select all

spline2 = Part.OffsetCurve(bs0, 10, V3d(0,0,1))

Part.show(spline2.toShape(), "offset_spline")
as in the following code file:
20230205-bspline_scale.py
(2.14 KiB) Downloaded 38 times
Hope it helps.

Regards

Carlo D.

Re: Arch WB Wall and splines

Posted: Sun Feb 05, 2023 5:39 pm
by paullee
onekk wrote: Sun Feb 05, 2023 4:26 pm
I don0t know the mathematics but you could use:

Code: Select all

spline2 = Part.OffsetCurve(bs0, 10, V3d(0,0,1))

Part.show(spline2.toShape(), "offset_spline")
Looks great ! Trying to find the Part API to understand how Part.OffsetCurve(), but it seems there is none ?

Re: Arch WB Wall and splines

Posted: Sun Feb 05, 2023 6:38 pm
by onekk
paullee wrote: Sun Feb 05, 2023 5:39 pm ...
Looks great ! Trying to find the Part API to understand how Part.OffsetCurve(), but it seems there is none ?
Sadly I don't know very much the code, but it seems that is defined here, probably directly an OCCT wrapper for Python.

https://github.com/FreeCAD/FreeCAD/blob ... urvePy.xml

in:

https://github.com/FreeCAD/FreeCAD/blob ... ePyImp.cpp

around line 52 (it is from development it could change)

Code: Select all

/ constructor method
int OffsetCurvePy::PyInit(PyObject* args, PyObject* /*kwd*/)
{
...
    }
EDIT: probably guessed from this header :

Code: Select all

#ifndef _PreComp_
# include <Geom_OffsetCurve.hxx>
#endif
in:

https://github.com/FreeCAD/FreeCAD/blob ... ePyImp.cpp

Is this OCCT method:

https://dev.opencascade.org/doc/occt-7. ... bf6348f6c6

Regards

Carlo D.