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.
Cone Script
jensen_brightman
Member Posts: 8 ✭
I am trying to make a simple script that creates a cone, but I cant seem to get the opRevolve method to work
const frontSketchId = id + "frontSketch";
const radius = 1;
const height = 3;
// Create a new sketch on the front plane
var frontSketch = newSketch(context, frontSketchId, {
"sketchPlane" : qCreatedBy(makeId("Front"), EntityType.FACE)
});
skLineSegment(frontSketch, "axis", {
"start" : vector(0, 0) * centimeter,
"end" : vector(0, height) * centimeter
});
// Add a line for the cone profile
skLineSegment(frontSketch, "profile", {
"start" : vector(0, 0) * centimeter,
"end" : vector(radius, height) * centimeter
});
// Solve the sketch
skSolve(frontSketch);
// Use opRevolve to create the cone
opRevolve(context, id + "revolve", {
"entities": qCreatedBy(frontSketchId, EntityType.FACE),
"axis": qCreatedBy(frontSketchId, EntityType.EDGE),
"angle": 360 * degree
});
The error looks like this
Thanks in advance for any response 😃
0

Comments
You need one more skLineSegment to close the profile if you want a solid (or not if you want a surface), but the main problem is your axis - you're giving it all the edges from the sketch and it needs one. Best just to use vector(0,0,1).