Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
WCrihfield
in reply to: j3scat

Hi @j3scat.  When working in assemblies, everything you see in that assembly that comes from a component is a proxy.  A proxy is basically a virtual copy of geometry that has been positioned & oriented within the 3D model space (or 'context') of the assembly).  Only things like work features or sketches that you create directly within the top level assembly itself will be 'normal/regular' objects, as expected.  So the origin planes of the main assembly file will be normal WorkPlanes, but the origin planes of a component will each be a WorkPlaneProxy within the context of a parent assembly.  When you need to create constraints or measure stuff between two components, both of those two geometries will need to be proxies.  If you are creating a constraint between the main/top assembly origin plane and a plane or face of a component, only the geometry of the component will need to be a proxy.

 

Proxies work on a 'per level' basis, so if the component you want to create a constraint to/from is not a top level component within the main assembly (within one or more levels of sub-assemblys), then the simples way to get that geometry will be with the Pick method (automatically returns the top level proxy, if component based).  If the Pick method is not an option, then you will need to start from the 'real' object within the base model file of the component, then get the component that represents that model within the sub-assembly and use its CreateGeometryProxy method to get a reference to the geometry's proxy that will be in the context of its parent assembly (in the context of the sub assembly).  Then get the component that represents the sub-assembly, and use its CreateGeometryProxy method to get the proxy that is within its parent assembly...and so on, until the proxy is within the context of the top level assembly.  It can be a lot of work to do this entirely by code.

Wesley Crihfield

EESignature

(Not an Autodesk Employee)