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.
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
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
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:
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.