Previous walls change when a new wall is created

A forum dedicated to the Draft, Arch and BIM workbenches development.
User avatar
bitacovir
Posts: 789
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Previous walls change when a new wall is created

Postby bitacovir » Sun Jul 21, 2019 6:13 pm

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 803 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)

My Blog
Mini Airflow Tunnel Project
User avatar
yorik
Site Admin
Posts: 11618
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Previous walls change when a new wall is created

Postby yorik » Sun Jul 21, 2019 8:39 pm

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
Posts: 789
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Previous walls change when a new wall is created

Postby bitacovir » Sun Jul 21, 2019 8:51 pm

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

My Blog
Mini Airflow Tunnel Project
User avatar
yorik
Site Admin
Posts: 11618
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Previous walls change when a new wall is created

Postby yorik » 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?
User avatar
bitacovir
Posts: 789
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Previous walls change when a new wall is created

Postby bitacovir » Tue Jul 23, 2019 2:48 am

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 706 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)

My Blog
Mini Airflow Tunnel Project
User avatar
yorik
Site Admin
Posts: 11618
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Previous walls change when a new wall is created

Postby yorik » 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?
User avatar
bitacovir
Posts: 789
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Previous walls change when a new wall is created

Postby bitacovir » Fri Jul 26, 2019 8:25 pm

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)

My Blog
Mini Airflow Tunnel Project
paullee
Posts: 1960
Joined: Wed May 04, 2016 3:58 pm

Re: Previous walls change when a new wall is created

Postby paullee » Sat Jul 27, 2019 1:41 am

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 17 times
paullee
Posts: 1960
Joined: Wed May 04, 2016 3:58 pm

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

Postby paullee » Sat Aug 17, 2019 7:44 pm

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 18 times
Roy_043
Posts: 651
Joined: Thu Dec 27, 2018 12:28 pm

Re: Previous walls change when a new wall is created

Postby Roy_043 » Sat Aug 17, 2019 7:59 pm

@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)