Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Featurescript fails when using EvBoundingBox?
luis_trueba
Member, Developers Posts: 9 ✭
Hello all,
I'm currently trying to write a script which evaluates the bounding boxes of a given set of parts, and then prints the vertices to the featurescript terminal. However, when I attempt to do this, it breaks and throws a Precondition of evBox3d failed (arg.topology is Query) error. I have added my code below. I'm sure it's a simple syntax thing, but I'm having a hard time finding relevant information online. Any help is greatly appreciated!
I'm currently trying to write a script which evaluates the bounding boxes of a given set of parts, and then prints the vertices to the featurescript terminal. However, when I attempt to do this, it breaks and throws a Precondition of evBox3d failed (arg.topology is Query) error. I have added my code below. I'm sure it's a simple syntax thing, but I'm having a hard time finding relevant information online. Any help is greatly appreciated!
<br>FeatureScript 626;<br>import(path : "onshape/std/geometry.fs", version : "626.0");<br><br>annotation { "Feature Type Name" : "Name Parts" }<br>export const NameParts = defineFeature(function(context is Context, id is Id, definition is map)<br> precondition<br> {<br> annotation { "Name" : "Parts", "Filter" : EntityType.BODY, "MaxNumberOfPicks" : 100000 }<br> definition.bodies is Query;<br><br> // Define the parameters of the feature type<br> }<br> { <br> for (var parts in definition.bodies) {<br> // define bounding box<br> const boundingBox is Box3d = evBox3d(context, {<br> "topology" : parts ,<br> });<br> println(boundingBox.minCorner);<br> println(boundingBox.mazCorner);<br> // assign names<br> // <br> // <br> }<br> <br> println(" this is the list of parts" );<br> <br> });<br><br><br>
Tagged:
0
Best Answer
-
lana Onshape Employees Posts: 706I think you intend to do
for (var parts in evaluateQuery(context, definition.bodies))
The way it is written now, your loop iterates through map entries of definition.bodies5
Answers
The way it is written now, your loop iterates through map entries of definition.bodies