Previous walls change when a new wall is created

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Previous walls change when a new wall is created

Post by bitacovir »

When I start creating a random group of walls, with each new wall the previous ones change position and dimensions. I detected this in Arch and BIM WB.
Wallchanges3.gif
Wallchanges3.gif (561.37 KiB) Viewed 2122 times
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.17433 (Git)
Build type: Release
Branch: master
Hash: 125380ddd9a1fdeb45ffc736040dad1f6343daa4
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Australia (en_AU)
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

Canal Youtube Grupo Telegram de FreeCAD Español

My personal web site
My GitHub repository
Mini Airflow Tunnel Project
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Previous walls change when a new wall is created

Post by yorik »

That's crazy :shock:
No such problem for me here... Do you have your FreeCAD set to produce wall baselines as sketches or draft?
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Previous walls change when a new wall is created

Post by bitacovir »

The wall baselines are Sketches...
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

Canal Youtube Grupo Telegram de FreeCAD Español

My personal web site
My GitHub repository
Mini Airflow Tunnel Project
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Previous walls change when a new wall is created

Post by yorik »

Can you paste here the python code that appears in the python console when you create the walls?
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Previous walls change when a new wall is created

Post by bitacovir »

yorik wrote: Mon Jul 22, 2019 12:56 pm Can you paste here the python code that appears in the python console when you create the walls?
Sorry Yorik. The description of the problem was incomplete. Apparently, you need to perform some actions to produce the bug. I did not notice because the bug remains through new projects if you don't close the program... It was hard to find the original actions that trigger the bug.

Ok, here the steps:
1) create a new project and open BIMWB. Do not change the top view position.
2) create a plane with a draft tool. e.g a rectangle
3) select the surface and click on the working plane tool
4) with the new working plane on the surface, select the surface again and create a wall (this should not be intentional, of course). Now you can start creating random walls and they will change as crazy. The bug remains through new projects unless you close the program.
See the gif...
Also, I copied the python code of this session.
Wallchanges4.gif
Wallchanges4.gif (780.4 KiB) Viewed 2025 times

Code: Select all

Python 3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) [MSC v.1900 64 bit (AMD64)] on win32
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> pl = FreeCAD.Placement()
>>> pl.Rotation.Q = (0.0,0.0,0.0,1.0)
>>> pl.Base = FreeCAD.Vector(-1154.1419677734375,-3801.42626953125,0.0)
>>> rec = Draft.makeRectangle(length=2995.591552734375,height=963.212646484375,placement=pl,face=True,support=None)
>>> Draft.autogroup(rec)
>>> FreeCAD.ActiveDocument.recompute()
>>> FreeCADGui.Snapper.setGrid()
>>> import Arch
>>> obj = Arch.makeWall(FreeCAD.ActiveDocument.Rectangle)
>>> Draft.autogroup(obj)
>>> import Part
>>> trace=Part.LineSegment(FreeCAD.Vector (4531.916015625, 3949.171875, 0.0),FreeCAD.Vector (4223.68798828125, 2629.570556640625, 0.0))
>>> base=FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject","WallTrace")
>>> base.Placement = FreeCAD.DraftWorkingPlane.getPlacement()
>>> base.addGeometry(trace)
>>> wall = Arch.makeWall(base,width=200.0,height=3000.0,align="Center")
>>> wall.Normal = FreeCAD.DraftWorkingPlane.getNormal()
>>> Draft.autogroup(wall)
>>> import Part
>>> trace=Part.LineSegment(FreeCAD.Vector (3751.7138671875, 3920.2755737304688, 0.0),FreeCAD.Vector (3896.19580078125, 2841.4775390625, 0.0))
>>> base=FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject","WallTrace")
>>> base.Placement = FreeCAD.DraftWorkingPlane.getPlacement()
>>> base.addGeometry(trace)
>>> wall = Arch.makeWall(base,width=200.0,height=3000.0,align="Center")
>>> wall.Normal = FreeCAD.DraftWorkingPlane.getNormal()
>>> Draft.autogroup(wall)
>>> import Part
>>> trace=Part.LineSegment(FreeCAD.Vector (3472.382080078125, 3862.4827270507812, 0.0),FreeCAD.Vector (3087.096923828125, 2687.3634643554688, 0.0))
>>> base=FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject","WallTrace")
>>> base.Placement = FreeCAD.DraftWorkingPlane.getPlacement()
>>> base.addGeometry(trace)
>>> wall = Arch.makeWall(base,width=200.0,height=3000.0,align="Center")
>>> wall.Normal = FreeCAD.DraftWorkingPlane.getNormal()
>>> Draft.autogroup(wall)
>>> import Part
>>> trace=Part.LineSegment(FreeCAD.Vector (2576.59423828125, 3804.690185546875, 0.0),FreeCAD.Vector (2759.604736328125, 2880.0059204101562, 0.0))
>>> base=FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject","WallTrace")
>>> base.Placement = FreeCAD.DraftWorkingPlane.getPlacement()
>>> base.addGeometry(trace)
>>> wall = Arch.makeWall(base,width=200.0,height=3000.0,align="Center")
>>> wall.Normal = FreeCAD.DraftWorkingPlane.getNormal()
>>> Draft.autogroup(wall)
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.17433 (Git)
Build type: Release
Branch: master
Hash: 125380ddd9a1fdeb45ffc736040dad1f6343daa4
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Australia (en_AU)
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

Canal Youtube Grupo Telegram de FreeCAD Español

My personal web site
My GitHub repository
Mini Airflow Tunnel Project
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Previous walls change when a new wall is created

Post by yorik »

I still can't reproduce the problem...

1) I create a rectangle
2) I set the WP to the rectangle
3) I create a wall with the rectangle selected. This produces a wall that uses the rectangle as its base shape
4) With or without that wall selected, I can create more walls, none shows the erratic behaviour...

Am I missing something?
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Previous walls change when a new wall is created

Post by bitacovir »

yorik wrote: Fri Jul 26, 2019 2:10 pm I still can't reproduce the problem...

1) I create a rectangle
2) I set the WP to the rectangle
3) I create a wall with the rectangle selected. This produces a wall that uses the rectangle as its base shape
4) With or without that wall selected, I can create more walls, none shows the erratic behaviour...

Am I missing something?
Yes. Those are the steps. That is how the problem happens. I tried with a different laptop running Ubuntu and the problem is the same. So, it is not my computer.
I recorded a video:

phpBB [video]


OS: Ubuntu 16.04.6 LTS (LXDE/Lubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.17175 (Git) AppImage
Build type: Release
Branch: master
Hash: 507c40669d48ae4732268324cd0140c80cf68222
Python version: 3.7.3
Qt version: 5.9.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Spanish/Spain (es_ES)

Can anybody else reproduce this bug?
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

Canal Youtube Grupo Telegram de FreeCAD Español

My personal web site
My GitHub repository
Mini Airflow Tunnel Project
paullee
Veteran
Posts: 5098
Joined: Wed May 04, 2016 3:58 pm

Re: Previous walls change when a new wall is created

Post by paullee »

I had found some very minor weird behaviours in FC :) This one very hard to make, spending an hour repeat random test, not sure the exact steps in fact... capture this one.

I do not go through this step ...
3) I create a wall with the rectangle selected. This produces a wall that uses the rectangle as its base shape
(Not know how to make animated gif)

phpBB [video]



FreeCAD_0.19-17445-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage
on
Fedora 30
Attachments
Test_ ArchWall_ Weird Behaviour.FCStd
(16.5 KiB) Downloaded 82 times
paullee
Veteran
Posts: 5098
Joined: Wed May 04, 2016 3:58 pm

Re:( Previous ) walls change when a new wall is created

Post by paullee »

Capture another similar weird behaviour ...
- no need to add a new wall to make 'previous' wall changes

Steps to reproduce:-
  1. Probably add an new Wall with a segment ( or open the attached file )
  2. If the underlying sketch is marked for recompute ( or just mark the underlying sketch in attached file to recompute)
  3. (Keep press / click) Ctrl-R or click button to recompute
  4. The Wall / Sketch segment keep move / rotate
FreeCAD_0.19-17512-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage on Fedora 30


phpBB [video]
Attachments
Test_ ArchWall_ Weird Behaviour_ 2.FCStd
(8.51 KiB) Downloaded 69 times
User avatar
Roy_043
Veteran
Posts: 8450
Joined: Thu Dec 27, 2018 12:28 pm

Re: Previous walls change when a new wall is created

Post by Roy_043 »

@paullee:
Confirmed:

Code: Select all

OS: Windows 8.1 (6.3)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.17505 (Git)
Build type: Release
Branch: master
Hash: 755536e9df94d2d39da1468420f1fd333c35da7a
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Dutch/Netherlands (nl_NL)
Post Reply