Sweep to Shape Binder bug crashes FreeCAD

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Post Reply
Igorcstab
Posts: 3
Joined: Tue Sep 14, 2021 1:08 pm

Sweep to Shape Binder bug crashes FreeCAD

Post by Igorcstab »

I was modeling a part where I wanted to sweep along halfway a path from one side, and halfway from the other one. (Ignore the curved base spline. It's not being used for now).
Screenshot_20210914_102040.png
Screenshot_20210914_102040.png (21.6 KiB) Viewed 1345 times
So, as I'd need a multisection transition, I created a Shape Binder to get the profile of the part's face as you can't just select it from the body. But when you select the Shape Binder, FeeCAD suddenly crashes. I also tried SubShape Binder, but it yields the same result.
Screenshot_20210914_102643.png
Screenshot_20210914_102643.png (10.3 KiB) Viewed 1345 times
The fact the Shape Binder doesn't show up as a selectable profile to sweep from suggests to me it isn't the proper way of doing what I intend. Also, the wiki or anywhere else I found don't report this bug. Moreover, on the Sweep wiki page at "Profile limitations and complications" there's no mentioning of Shape Binders.
Screenshot_20210914_103750.png
Screenshot_20210914_103750.png (64.29 KiB) Viewed 1345 times
So, suggestions on how to do it?

Also, have this bug reported (I guess). The terminal error message follows:

Program received signal SIGSEGV, Segmentation fault.
#0 /lib64/libc.so.6(+0x3d320) [0x7ff0c5f4e320]
#1 0x7ff02a0e6074 in BRep_TEdge::Degenerated() const from /lib64/libTKBRep.so.7+0x4
#2 0x7ff02a0ebc61 in BRep_Tool::Parameter(TopoDS_Vertex const&, TopoDS_Edge const&, double&) from /lib64/libTKBRep.so.7+0x451
#3 0x7ff02a0ebf13 in BRep_Tool::Parameter(TopoDS_Vertex const&, TopoDS_Edge const&) from /lib64/libTKBRep.so.7+0x23
#4 0x7ff022d78406 in BRepFill_CompatibleWires::SameNumberByPolarMethod(bool) from /lib64/libTKBool.so.7+0x2396
#5 0x7ff022d745e5 in BRepFill_CompatibleWires::Perform(bool) from /lib64/libTKBool.so.7+0xd55
#6 0x7ff022dca53c in BRepFill_PipeShell::Prepare() from /lib64/libTKBool.so.7+0xe5c
#7 0x7ff022dccb66 in BRepFill_PipeShell::Build() from /lib64/libTKBool.so.7+0x36
#8 0x7ff029d16a71 in BRepOffsetAPI_MakePipeShell::Build() from /lib64/libTKOffset.so.7+0x11
#9 0x7ff02286b2bd in BRepBuilderAPI_MakeShape::Shape() from /lib64/libTKTopAlgo.so.7+0x3d
#10 0x7ff02b3970b7 in PartDesign::Pipe::execute() from /usr/lib64/freecad/lib64/_PartDesign.so+0x4e7
#11 0x7ff0c7cb81ff in App::DocumentObject::recompute() from /usr/lib64/freecad/lib64/libFreeCADApp.so+0x9f
#12 0x7ff02838697d in Part::Feature::recompute() from /usr/lib64/freecad/lib64/Part.so+0xd
#13 0x7ff0c7c707ad in App::Document::_recomputeFeature(App::DocumentObject*) from /usr/lib64/freecad/lib64/libFreeCADApp.so+0x26d
#14 0x7ff0c7c75a51 in App::Document::recomputeFeature(App::DocumentObject*, bool) from /usr/lib64/freecad/lib64/libFreeCADApp.so+0x101
#15 0x7ff02079b366 in PartDesignGui::TaskPipeScaling::onSelectionChanged(Gui::SelectionChanges const&) from /usr/lib64/freecad/lib64/PartDesignGui.so+0xf6
#16 0x7ff0c874c780 in Gui::SelectionObserver::_onSelectionChanged(Gui::SelectionChanges const&) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x30
#17 /usr/lib64/freecad/lib64/libFreeCADGui.so(+0x5c6600) [0x7ff0c853b600]
#18 0x7ff0c8750379 in Gui::SelectionSingleton::slotSelectionChanged(Gui::SelectionChanges const&) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x2a9
#19 /usr/lib64/freecad/lib64/libFreeCADGui.so(+0x5c6600) [0x7ff0c853b600]
#20 0x7ff0c874f9c5 in Gui::SelectionSingleton::notify(Gui::SelectionChanges&&) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x2b5
#21 0x7ff0c875d0fe in Gui::SelectionSingleton::addSelection(char const*, char const*, char const*, float, float, float, std::vector<Gui::SelectionSingleton::SelObj, std::allocator<Gui::SelectionSingleton::SelObj> > const*, bool) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0xd6e
#22 0x7ff0c859b895 in Gui::SoFCUnifiedSelection::setSelection(std::vector<Gui::SoFCUnifiedSelection::PickedInfo, std::allocator<Gui::SoFCUnifiedSelection::PickedInfo> > const&, bool) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x6b5
#23 0x7ff0c859c359 in Gui::SoFCUnifiedSelection::handleEvent(SoHandleEventAction*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x139
#24 0x7ff0c59332f5 in SoAction::traverse(SoNode*) from /lib64/libCoin.so.80+0x65
#25 0x7ff0c5acd0e8 in SoChildList::traverse(SoAction*, int, int) from /lib64/libCoin.so.80+0x168
#26 0x7ff0c5b13f90 in SoGroup::doAction(SoAction*) from /lib64/libCoin.so.80+0x50
#27 0x7ff0c5b28edc in SoSeparator::doAction(SoAction*) from /lib64/libCoin.so.80+0x2c
#28 0x7ff0c59332f5 in SoAction::traverse(SoNode*) from /lib64/libCoin.so.80+0x65
#29 0x7ff0c593cceb in SoHandleEventAction::beginTraversal(SoNode*) from /lib64/libCoin.so.80+0xab
#30 0x7ff0c5933948 in SoAction::apply(SoNode*) from /lib64/libCoin.so.80+0xc8
#31 0x7ff0c5ae2139 in SoEventManager::actuallyProcessEvent(SoEvent const*) from /lib64/libCoin.so.80+0x79
#32 0x7ff0c861be12 in SIM::Coin3D::Quarter::QuarterWidget::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x22
#33 0x7ff0c8621379 in SIM::Coin3D::Quarter::SoQTQuarterAdaptor::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x59
#34 0x7ff0c86520cd in Gui::View3DInventorViewer::processSoEventBase(SoEvent const*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0xd
#35 0x7ff0c86310b5 in Gui::NavigationStyle::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0xc5
#36 0x7ff0c863175b in Gui::CADNavigationStyle::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x31b
#37 0x7ff0c863118f in Gui::NavigationStyle::processEvent(SoEvent const*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x7f
#38 0x7ff0c8655850 in Gui::View3DInventorViewer::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x70
#39 0x7ff0c861917d in SIM::Coin3D::Quarter::EventFilter::eventFilter(QObject*, QEvent*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0xbd
#40 0x7ff0c65c054d in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /lib64/libQt5Core.so.5+0xad
#41 0x7ff0c7094432 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib64/libQt5Widgets.so.5+0x72
#42 0x7ff0c709c074 in QApplication::notify(QObject*, QEvent*) from /lib64/libQt5Widgets.so.5+0xa84
#43 0x7ff0c83b6160 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x90
#44 0x7ff0c65c0798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib64/libQt5Core.so.5+0x128
#45 0x7ff0c709ab57 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) from /lib64/libQt5Widgets.so.5+0x1b7
#46 /lib64/libQt5Widgets.so.5(+0x20a450) [0x7ff0c70f0450]
#47 /lib64/libQt5Widgets.so.5(+0x20d6e5) [0x7ff0c70f36e5]
#48 0x7ff0c7094443 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib64/libQt5Widgets.so.5+0x83
#49 0x7ff0c83b6160 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x90
#50 0x7ff0c65c0798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib64/libQt5Core.so.5+0x128
#51 0x7ff0c6a10ba8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /lib64/libQt5Gui.so.5+0x6b8
#52 0x7ff0c69f0c9c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib64/libQt5Gui.so.5+0xac
#53 /lib64/libQt5XcbQpa.so.5(+0x6f11e) [0x7ff0b329f11e]
#54 /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x19f) [0x7ff0c43d34cf]
#55 /lib64/libglib-2.0.so.0(+0xa94f8) [0x7ff0c44274f8]
#56 /lib64/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7ff0c43d0c03]
#57 0x7ff0c6611b78 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib64/libQt5Core.so.5+0x68
#58 0x7ff0c65bf1a2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /lib64/libQt5Core.so.5+0x132
#59 0x7ff0c65c76e4 in QCoreApplication::exec() from /lib64/libQt5Core.so.5+0x94
#60 0x7ff0c833aee0 in Gui::Application::runApplication() from /usr/lib64/freecad/lib64/libFreeCADGui.so+0x17a0
#61 FreeCAD(+0x3ee5) [0x55e777c79ee5]
#62 /lib64/libc.so.6(__libc_start_main+0xd5) [0x7ff0c5f38b75]
#63 FreeCAD(+0x500e) [0x55e777c7b00e]
chrisb
Veteran
Posts: 54293
Joined: Tue Mar 17, 2015 9:14 am

Re: Sweep to Shape Binder bug crashes FreeCAD

Post by chrisb »

Please attach your full FreeCAD info as described in the IMPORTANT forum rules linked above. Without the file it is hard to guess what happens.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Igorcstab
Posts: 3
Joined: Tue Sep 14, 2021 1:08 pm

Re: Sweep to Shape Binder bug crashes FreeCAD

Post by Igorcstab »

Here it is
Attachments
Full Robot.FCStd
(246.65 KiB) Downloaded 21 times
drmacro
Veteran
Posts: 9002
Joined: Sun Mar 02, 2014 4:35 pm

Re: Sweep to Shape Binder bug crashes FreeCAD

Post by drmacro »

FreeCAD info:

Go to Help>About.

The dialogue has a BFB that when clicked will copy all pertinent information about your FreeCAD install to the clipboard.

Then a simple ctl-v will paste it in a reply.

It could be, that info will help the helpers help you.

:mrgreen:
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
chrisb
Veteran
Posts: 54293
Joined: Tue Mar 17, 2015 9:14 am

Re: Sweep to Shape Binder bug crashes FreeCAD

Post by chrisb »

From the file it is not clear to me what you want to do. Please add a detailed description of the steps to reproduce the issue (which body to activate, what to select, which feature to create, ...)

I can say from what I see, that you cannot use the existing path with the section you have, because it causes self intersections. However, FreeCAD shouldn't crash.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
papyblaise
Veteran
Posts: 8024
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Sweep to Shape Binder bug crashes FreeCAD

Post by papyblaise »

this is what I understand
Attachments
support.PNG
support.PNG (18.5 KiB) Viewed 1087 times
support.FCStd
(446.54 KiB) Downloaded 17 times
Igorcstab
Posts: 3
Joined: Tue Sep 14, 2021 1:08 pm

Re: Sweep to Shape Binder bug crashes FreeCAD

Post by Igorcstab »

papyblaise wrote: Thu Sep 16, 2021 8:21 am this is what I understand
Yeah, this is sort of what I was intending to do. I'm perfectly aware the approach I took with that path could be just wrong/impossible to do. But indeed "FreeCAD shouldn't crash", as chrisb said. But I think it isn't that.

Take this example I just made: the path is way jankier but it sweeps as expected
Screenshot_20210917_091144.png
Screenshot_20210917_091144.png (7.45 KiB) Viewed 993 times
weird path sweep.FCStd
(52.72 KiB) Downloaded 14 times
The thing is. Here it sweeps from a sketch, through this path, to another sketch. In my project, it goes from a sketch, through that path to a shape binder (which I just used because I wanted to "transfer" the sketch from one side to the other, avoid the topological naming problem/don't go from a sketch to a face/yada yada. Btw, is there another way of doing it?)
Post Reply