Archsketch + carbon copy

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
jsolersallent
Posts: 15
Joined: Tue Apr 26, 2022 12:55 pm

Archsketch + carbon copy

Post by jsolersallent »

Hi,
I'm trying to make an archsketch and I want to use the carbon copy tool to copy another archsketch in it. The tool works fine with Sketcher, but not with Archsketch. Can you give me a solution, please?
Vil·la Savoye.FCStd
(21.42 KiB) Downloaded 32 times
paullee
Veteran
Posts: 5097
Joined: Wed May 04, 2016 3:58 pm

Re: Archsketch + carbon copy

Post by paullee »

jsolersallent wrote: Wed Jun 07, 2023 6:48 pm Hi,
I'm trying to make an archsketch and I want to use the carbon copy tool to copy another archsketch in it. The tool works fine with Sketcher, but not with Archsketch. Can you give me a solution, please?

Vil·la Savoye.FCStd
Thanks trying the experimental workbench :D

A few things come to my mind:-
  1. @abdullah ( the expert on Sketcher), the 'ArchSketch' the OP mentioned is a Sketcher::SketchObjectPython for Architectural Layout. Carbon copy is not working, any idea? Thanks.

    https://github.com/paullee0/FreeCAD_Ske ... ect.py#L57
    https://github.com/paullee0/FreeCAD_Ske ... t.py#L1683

    Code: Select all

          archSketch = grp.newObject("Sketcher::SketchObjectPython",name)		
    
  2. Personally, I do not use Carbon Copy as it requires generally the original Sketch be fully constrained before application; this become vulnerable as architectural workflow always requires iteration; and it would suffer from the toponaming problem.
  3. ArchSketch in fact has an unexposed feature which do the same without the TNP. Want to upgrade that; tied up for a long while.
  4. A workaround (tedious) I also use is : Use Link to External to copy the edge, Copy the edge, apply Block constraint to the new edge, delete the 'External' edge.
Good luck.

Vil·la Savoye_r.FCStd
(27 KiB) Downloaded 25 times
Screenshot from 2023-06-08 08-08-57.png
Screenshot from 2023-06-08 08-08-57.png (203.91 KiB) Viewed 2062 times
User avatar
jsolersallent
Posts: 15
Joined: Tue Apr 26, 2022 12:55 pm

Re: Archsketch + carbon copy

Post by jsolersallent »

Ok, thanks.

I asume you used this metod to do the Archsketch_GF_Slab of your Ville Savoye model.
paullee
Veteran
Posts: 5097
Joined: Wed May 04, 2016 3:58 pm

Re: Archsketch + carbon copy

Post by paullee »

In fact, I used a lot methods described in point 3, sometime point 4.

It helps to cross-reference different floor layout, or just a few axes.

But sometimes too much cross-referencing make modeling structure difficult to understand, e.g. by a collaborator, who may break the links :)
User avatar
jsolersallent
Posts: 15
Joined: Tue Apr 26, 2022 12:55 pm

Re: Archsketch + carbon copy

Post by jsolersallent »

Could you explain point 3 in more detail? Should I update ArchSketch?
Regarding point 4, I have tried it, but I'm unsure if I should make a copy of the entire sketch and then delete what I'm not interested in. Is this correct?
paullee
Veteran
Posts: 5097
Joined: Wed May 04, 2016 3:58 pm

Re: Archsketch + carbon copy

Post by paullee »

Maybe I outline the idea/workflow of point 4 first

(It 'works' if not a lot of edges one want to link, otherwise, it may become too tedious)

Point 3 is in fact similar but coded as a feature somehow automated all the steps user needs to do manually.
  1. Imagine you want to make reference to G/F slab/envelope outline - say 2 edges of the square outline in screencapture
  2. I tried in 1/F Sketch use the Link to External the 2 edges;
  3. Now you may do the 1/F layout making reference to these edges, but no good due to the Toponaming vulnerability
  4. What I did was manually create 2 new edges coincident to the Linked Edges
  5. Now, select the External linked edges and delete them.
  6. Then, select the new edges, and apply Block Constraints so they do not move; now you have your 'External Linked Edges' for reference. Optionally, make them as Construction Edges.
    (Mind you, if you know Block Constraints, it does not absolutely prevent those edges from moving at all - I made a feature request to implement a 'hard' block constraint but not aware of its implementation)
  7. Somehow later, the G/F layout is adjusted and the 2 edges referenced to are shifted, user needs to adjust manually
    (e.g. Link to External again, remove the Block constraints, adjust the edges to the revised position, apply the Block constraints again ....)
This look stupid and tedious but it 'circumvent' the TNP. Depends on your workflow and modelling method, hope this helps you somehow. Idea 3 is somehow similar but automated as said but it is not exposed in the version available in git hub. So you may find a lot of edges with Blocked constraints in the Villa Savoye mode.

I describe 3 idea on Toponaming Tolerant feature in the github - https://github.com/paullee0/FreeCAD_Ske ... g-tolerant. Item i was implemented. I found item ii would be better. Anyone interested in coding may try ? :)


EDIT - With the Toponaming Tolerant capability, this ArchSketch feature (idea 3) is in fact a "Toponaming Tolerant 'version' of Link to External".


Vil·la Savoye_r2.FCStd
(29.65 KiB) Downloaded 24 times


Screenshot from 2023-06-09 07-54-32.png
Screenshot from 2023-06-09 07-54-32.png (188.38 KiB) Viewed 1843 times
Screenshot from 2023-06-09 07-54-54.png
Screenshot from 2023-06-09 07-54-54.png (203.81 KiB) Viewed 1843 times
Screenshot from 2023-06-09 07-55-58.png
Screenshot from 2023-06-09 07-55-58.png (227.54 KiB) Viewed 1843 times
Screenshot from 2023-06-09 07-56-43.png
Screenshot from 2023-06-09 07-56-43.png (216.71 KiB) Viewed 1843 times
Screenshot from 2023-06-09 07-56-56.png
Screenshot from 2023-06-09 07-56-56.png (236.58 KiB) Viewed 1843 times
Screenshot from 2023-06-09 07-57-08.png
Screenshot from 2023-06-09 07-57-08.png (217.42 KiB) Viewed 1843 times
Screenshot from 2023-06-09 07-57-23.png
Screenshot from 2023-06-09 07-57-23.png (213.46 KiB) Viewed 1843 times
User avatar
jsolersallent
Posts: 15
Joined: Tue Apr 26, 2022 12:55 pm

Re: Archsketch + carbon copy

Post by jsolersallent »

First of all, thank you for your patience and for providing this information. I will be away for a few days, and when I return, I will review it thoroughly. Thank you again.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: Archsketch + carbon copy

Post by abdullah »

paullee wrote: Thu Jun 08, 2023 12:25 am Carbon copy is not working, any idea? Thanks.
Not out of the top of my head, and now I do not have the time to look into it. Please do an GH issue and I will look into it when I have more time available.
User avatar
jsolersallent
Posts: 15
Joined: Tue Apr 26, 2022 12:55 pm

Re: Archsketch + carbon copy

Post by jsolersallent »

paullee wrote: Fri Jun 09, 2023 12:24 am Maybe I outline the idea/workflow of point 4 first

(It 'works' if not a lot of edges one want to link, otherwise, it may become too tedious)

Point 3 is in fact similar but coded as a feature somehow automated all the steps user needs to do manually.
  1. Imagine you want to make reference to G/F slab/envelope outline - say 2 edges of the square outline in screencapture
  2. I tried in 1/F Sketch use the Link to External the 2 edges;
  3. Now you may do the 1/F layout making reference to these edges, but no good due to the Toponaming vulnerability
  4. What I did was manually create 2 new edges coincident to the Linked Edges
  5. Now, select the External linked edges and delete them.
  6. Then, select the new edges, and apply Block Constraints so they do not move; now you have your 'External Linked Edges' for reference. Optionally, make them as Construction Edges.
    (Mind you, if you know Block Constraints, it does not absolutely prevent those edges from moving at all - I made a feature request to implement a 'hard' block constraint but not aware of its implementation)
  7. Somehow later, the G/F layout is adjusted and the 2 edges referenced to are shifted, user needs to adjust manually
    (e.g. Link to External again, remove the Block constraints, adjust the edges to the revised position, apply the Block constraints again ....)
This look stupid and tedious but it 'circumvent' the TNP. Depends on your workflow and modelling method, hope this helps you somehow. Idea 3 is somehow similar but automated as said but it is not exposed in the version available in git hub. So you may find a lot of edges with Blocked constraints in the Villa Savoye mode.

I describe 3 idea on Toponaming Tolerant feature in the github - https://github.com/paullee0/FreeCAD_Ske ... g-tolerant. Item i was implemented. I found item ii would be better. Anyone interested in coding may try ? :)


EDIT - With the Toponaming Tolerant capability, this ArchSketch feature (idea 3) is in fact a "Toponaming Tolerant 'version' of Link to External".



Vil·la Savoye_r2.FCStd




Screenshot from 2023-06-09 07-54-32.png
Screenshot from 2023-06-09 07-54-54.png
Screenshot from 2023-06-09 07-55-58.png
Screenshot from 2023-06-09 07-56-43.png
Screenshot from 2023-06-09 07-56-56.png
Screenshot from 2023-06-09 07-57-08.png
Screenshot from 2023-06-09 07-57-23.png
Well, I think I understood the method. The only problem I see (that's why I wanted to use carbon copy) is when you want to reference edges that are originally constructional and are not visible. In that case, you have to convert them to visible edges in the original Sketch, I suppose.

Regarding the three ideas, lately I've been using Realthunder and it seems to solve all these Topological name issues, is that true? I find that the Sketcher works better than in FreeCAD 0.20.
paullee
Veteran
Posts: 5097
Joined: Wed May 04, 2016 3:58 pm

Re: Archsketch + carbon copy

Post by paullee »

Thanks @abdullah :)
Post Reply