cadquery icon indicating copy to clipboard operation
cadquery copied to clipboard

How to constrain an object with an object added to a different assembly?

Open Vishnu-C opened this issue 5 months ago • 3 comments

import cadquery as cq

# create an assembly 
assmebly1 = cq.Assembly(name="assembly1")
# add box to assembly1
box = cq.Workplane().box(1, 1, 1)

assmebly1.add(box, name="box1", color=cq.Color("green"))
assmebly1.add(box, name="box2", color=cq.Color("yellow"))

assmebly1.constrain("box1@faces@<X", "box2@faces@<X", "Axis", param=0.0)
assmebly1.constrain("box1@faces@<Y", "box2@faces@<Y", "Axis", param=0.0)
assmebly1.constrain("box1@faces@<Z", "box2@faces@<Z", "PointInPlane", param=10.0)
assmebly1.solve()

assmebly2 = cq.Assembly(name="assembly2")
# add box to assembly2
assmebly2.add(box, name="box3", color=cq.Color("purple"))

# -----> how to constrain box3 in assembly2 with box1 from assembly1?
# I should not add box1 to assembly2

# assmebly2.solve()

https://github.com/user-attachments/assets/5d9a8685-ba41-4578-b74b-65e0d071fc67

Vishnu-C avatar May 03 '25 08:05 Vishnu-C