Skip to content

Commit 1e8fdaf

Browse files
committed
sync the ID of the regenerated part to access its regenerate and
parameters.
1 parent 6023772 commit 1e8fdaf

File tree

2 files changed

+12
-5
lines changed
  • src/main/java/com/neuronrobotics/bowlerstudio/scripting/cadoodle

2 files changed

+12
-5
lines changed

src/main/java/com/neuronrobotics/bowlerstudio/scripting/cadoodle/Paste.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import eu.mihosoft.vrl.v3d.CSG;
2121
import eu.mihosoft.vrl.v3d.Transform;
2222
import eu.mihosoft.vrl.v3d.parametrics.CSGDatabase;
23+
import eu.mihosoft.vrl.v3d.parametrics.CSGDatabaseInstance;
2324
import eu.mihosoft.vrl.v3d.parametrics.Parameter;
2425

2526
public class Paste extends AbstractAddFrom {
@@ -96,14 +97,20 @@ private ArrayList<CSG> copyPasteMoved(ArrayList<CSG> back, CSG c, int depth) {
9697
CSG clone = c.clone();
9798
clone.setRegenerate(c.getRegenerate()).setName(name);
9899
clone.getStorage().set("PreviousName", prevName);
100+
CSGDatabaseInstance db = getDb();
101+
clone.syncParameter(db, c);
99102
Transform nrToCSG = MoveCenter.getTotalOffset(c);
100-
101103
Transform nrToCSG2 = TransformFactory.nrToCSG(location);
102104
CSG newOne = null;
103-
if (new CaDoodleVitamin(getCaDoodleFile().getCsgDBinstance()).isVitamin(c)) {
104-
CSG regenerate = clone.getRegenerate().regenerate(clone);
105+
CaDoodleVitamin caDoodleVitamin = new CaDoodleVitamin(db);
106+
if (caDoodleVitamin.isVitamin(c)) {
107+
CSG regenerate = c.getRegenerate().regenerate(clone);
105108
newOne = regenerate.transformed(nrToCSG).transformed(nrToCSG2);
106-
newOne.setRegenerate(regenerate.getRegenerate());
109+
newOne.setRegenerate(regenerate.getRegenerate()).setName(name);
110+
newOne.setID(regenerate);
111+
if(!caDoodleVitamin.isVitamin(newOne)) {
112+
throw new RuntimeException("Failed to create the vitamin");
113+
}
107114
}else {
108115
newOne = clone.transformed(nrToCSG2);
109116
newOne.setRegenerate(c.getRegenerate());

0 commit comments

Comments
 (0)