← Back to conversations
Group equal pieces of dynamic components
Boris Beaulant
Posted on March 25, 2023
Hi Enrique,
Interesting issue. Thanks for reporting it. I have to investigate it.
Could you please send me a sample skp file by email at opencutlist @ lairdubois.fr ?
Regards
Interesting issue. Thanks for reporting it. I have to investigate it.
Could you please send me a sample skp file by email at opencutlist @ lairdubois.fr ?
Regards
Enrique Cruz
Posted on March 25, 2023
Thank you very much for the quick answer.
Now I'll send it.
Regards!
Now I'll send it.
Regards!
Boris Beaulant
Posted on March 25, 2023
Thank you for the file.
After exploration I can confirm that a fix in 4.1.x produce this behavior.
But the code in <= 4.x was not enough strict and grouping parts with different definition in a single one produce problems in other features. Because OpenCutList store several part's settings in definition's attributes and then, after this kind of grouping, only the first definition's attributes was modified.
Currently I can't restore the <= 4.x system as it was. Because, the "feature" you were using was finally a bug :)
The main problem is that OpenCutList reading method is totally based on the SU "Component Definition" principe. And use the rules that 2 component's instances are considered as the same part ONLY if they share the same definition, material and scale (scale for size and/or flip if flip detection is activated).
Playing with DC names to virtually reinvent the Component Definition principe bring a lot of problems to solve ... because, one unique part of OCL is represented by several definitions in the model that hold different drawing elements.
And even if in your case drawing elements are "identical", in the general case, it cans be completely different. And then how can we manage the faces that hold edge banding for exemple ...
Currently I'm not sure that it's possible to find a general solution to this problem...
After exploration I can confirm that a fix in 4.1.x produce this behavior.
But the code in <= 4.x was not enough strict and grouping parts with different definition in a single one produce problems in other features. Because OpenCutList store several part's settings in definition's attributes and then, after this kind of grouping, only the first definition's attributes was modified.
Currently I can't restore the <= 4.x system as it was. Because, the "feature" you were using was finally a bug :)
The main problem is that OpenCutList reading method is totally based on the SU "Component Definition" principe. And use the rules that 2 component's instances are considered as the same part ONLY if they share the same definition, material and scale (scale for size and/or flip if flip detection is activated).
Playing with DC names to virtually reinvent the Component Definition principe bring a lot of problems to solve ... because, one unique part of OCL is represented by several definitions in the model that hold different drawing elements.
And even if in your case drawing elements are "identical", in the general case, it cans be completely different. And then how can we manage the faces that hold edge banding for exemple ...
Currently I'm not sure that it's possible to find a general solution to this problem...
Enrique Cruz
Posted on March 25, 2023
Thanks for the explanation
I understand that it is a corrected error but
Do you think there is a possibility to put the option to choose how strict OCL is regarding the grouping of parts?
Currently, I know a couple of colleagues who work in the same way as me to carry out the quartering, and I suppose that many of the industry will work similarly. Could it be an option to let us choose?
Thank you very much for the information.
I understand that it is a corrected error but
Do you think there is a possibility to put the option to choose how strict OCL is regarding the grouping of parts?
Currently, I know a couple of colleagues who work in the same way as me to carry out the quartering, and I suppose that many of the industry will work similarly. Could it be an option to let us choose?
Thank you very much for the information.
Boris Beaulant
Posted on March 25, 2023
I’m sorry but it will be difficult to create an option that generates bugs or invalid data elsewhere in the extension and especially in the new features…
Currently, the best solution I can propose is to stay in 4.0.x
Currently, the best solution I can propose is to stay in 4.0.x
Boris Beaulant
Posted on March 26, 2023
Few questions to better understand the need :
- Why left and right sides of the drawer are not based en the same definition if they need to be finally the same part with just a flip ? Impossible ? OCL can detect flipped parts if it is configured for.
- What is wrong for you when the "Group similar parts" option of OCL is On ? Because I think it's the feature you need. It merges multiple parts that have several similar properties (even if drawing is different) in one unique line in Parts List.
Enrique Cruz
Posted on March 27, 2023
Hello Boris. Sorry for the delay, I hadn't checked my mailbox.
In response to your questions.
1. It seems to me that a distinction is made between parts when I start to introduce the variables of the dynamic components. I couldn't say for sure. But performing a test with the drawer and a copy, initially the backgrounds appear with the same number, and when changing the drawer's start height to the copy, without changing the dimensions or edges, only the start height, OCL considers it as a different piece. I think it's SketchUp that makes that distinction and OCL copies it from SKP.
2. I am interested that pieces that are the same with different names are not joined, by the name of the piece and the list of parts per piece of furniture. For example, the sides of the kitchen base units are mostly the same, but you couldn't put them all together in one column because then you wouldn't be able to separate the pieces of each unit.
Example, I have 2 kitchen modules, 80 cm high and 60 cm deep, only the width varies. One of 60 cm that we will call M1 and another of 80 cm that we will call M2.
The inner pieces will necessarily be called different because the length of those pieces is different, but the size of the sides is exactly the same. But I need that in the parts list there is a separation of 2 sides in M1 and 2 sides in M2.
At the moment I am working as you suggested. I have installed SKP 2022 with OCL 4.0 and SKP 2023 with OCL 4.1. So far it has not given me any problems, the pieces are joined when they are exactly the same in name, dimensions and edging, and if they are different in any of those options, then they are separated even if they have the same name.
Thank you very much for your answer and for all the work of OCL. It's a wonderful plugin.
In response to your questions.
1. It seems to me that a distinction is made between parts when I start to introduce the variables of the dynamic components. I couldn't say for sure. But performing a test with the drawer and a copy, initially the backgrounds appear with the same number, and when changing the drawer's start height to the copy, without changing the dimensions or edges, only the start height, OCL considers it as a different piece. I think it's SketchUp that makes that distinction and OCL copies it from SKP.
2. I am interested that pieces that are the same with different names are not joined, by the name of the piece and the list of parts per piece of furniture. For example, the sides of the kitchen base units are mostly the same, but you couldn't put them all together in one column because then you wouldn't be able to separate the pieces of each unit.
Example, I have 2 kitchen modules, 80 cm high and 60 cm deep, only the width varies. One of 60 cm that we will call M1 and another of 80 cm that we will call M2.
The inner pieces will necessarily be called different because the length of those pieces is different, but the size of the sides is exactly the same. But I need that in the parts list there is a separation of 2 sides in M1 and 2 sides in M2.
At the moment I am working as you suggested. I have installed SKP 2022 with OCL 4.0 and SKP 2023 with OCL 4.1. So far it has not given me any problems, the pieces are joined when they are exactly the same in name, dimensions and edging, and if they are different in any of those options, then they are separated even if they have the same name.
Thank you very much for your answer and for all the work of OCL. It's a wonderful plugin.
Boris Beaulant
Posted on March 29, 2023
Hi Enrique,
1. Dynamic component is a nightmare. It creates multiple copies of definitions in background without informing the user. And then break the logic of what could be a unique definition for identical parts.
This tool is not really compatible with OpenCutList.
2. OCL Tags (renamed Badges in future 5.0) could serve to create multiples parts families. And part that doesn't share the same tags list are not grouped.
1. Dynamic component is a nightmare. It creates multiple copies of definitions in background without informing the user. And then break the logic of what could be a unique definition for identical parts.
This tool is not really compatible with OpenCutList.
2. OCL Tags (renamed Badges in future 5.0) could serve to create multiples parts families. And part that doesn't share the same tags list are not grouped.
Enrique Cruz
Posted on March 31, 2023
Hello Boris
1. Does this happen with all the dynamic components or do I have errors in the creation of the component that I share with you?
2. I think that would be a solution to my problem. I would create one family per module and check the option to group, so the sides would join.
Thank you very much in advance for all the time invested in solving the doubts.
1. Does this happen with all the dynamic components or do I have errors in the creation of the component that I share with you?
2. I think that would be a solution to my problem. I would create one family per module and check the option to group, so the sides would join.
Thank you very much in advance for all the time invested in solving the doubts.
Boris Beaulant
Posted on March 31, 2023
Hi Enrique,
Two main things split components in several parts in OCL :
- If they don't share the same definition,
- if they don't share the same characteristics (size, edges, tags, ...).
In your case DC create a new definition for left and right drawer side. But even if you don't use DC, Left side is a mirror of Right side. Then because you put edges along width, those part couldn't be grouped. Because the edge position is inverted, due to part flip.
Two main things split components in several parts in OCL :
- If they don't share the same definition,
- if they don't share the same characteristics (size, edges, tags, ...).
In your case DC create a new definition for left and right drawer side. But even if you don't use DC, Left side is a mirror of Right side. Then because you put edges along width, those part couldn't be grouped. Because the edge position is inverted, due to part flip.
Enrique Cruz
Posted on March 25, 2023
I have been an Open Cut List user for a long time.
In version 4.1.0 there was a change with the grouping of pieces. I use dynamic components for cutting kitchen furniture. These components autoname the pieces according to the name that I give to the module.
Many times I occupy the same modules for various pieces of furniture. For example, the same drawer for several different closets.
In version 4.0.1 when generating the parts list, if the parts were exactly the same they were added. On the contrary, if they were called the same by the designation of the component, but had a different dimension or edge, the pieces were separated correctly.
In version 4.1.0 that changed, and exactly the same pieces, named the same by the dynamic component, are separated.
Now, from being 1 row with 16 pieces, it became 8 rows with 2 pieces each.
Is there a way to change this setting?
I don't want to use the option to group equal pieces. This option joins parts that do not share the same name and creates conflicts for the parts list export.
I currently have SketchUp 2022 with OCL 4.0.1 and SketchUp 2023 with OCL 4.1.3 installed.
I work in SketchUp 2023 and to export the parts list I go back to SketchUp 2022.
The way version 4.0.1 worked was very convenient. Because he didn't join the pieces just by name, but verified that they were exactly the same. But now for identical pieces it makes differences in them.
Thank you very much for your support!