Skip to main content
Inspiring
November 20, 2013
Answered

Custom Angled Triangles Question

  • November 20, 2013
  • 3 replies
  • 6390 views

I'm quite suprised that powerful Illustrator does not have any easy solution for creating custom angled triangles. Is there anybody help me to create a custom angle triangle script ?

Thank you,

Best Regards.

Correct answer Sergey Osokin

Inspired by Carlos' ideas, I combined the two scripts into one — TriangleMaker. It now has a triangle settings dialog and previews.

3 replies

Sergey Osokin
Sergey OsokinCorrect answer
Inspiring
April 2, 2025

Inspired by Carlos' ideas, I combined the two scripts into one — TriangleMaker. It now has a triangle settings dialog and previews.

Ton Frederiks
Community Expert
Community Expert
April 2, 2025

Thank you! Love it, I like the Preview and the text option! Maybe in the future a Convert to Shape option (although it is easy to do yourself)

Sergey Osokin
Inspiring
April 2, 2025

It's easy to do this yourself, but it's also easy to include this command in a script. But why make a custom triangle a dynamic shape?

bnjmngrn
Participant
March 6, 2025

I've been looking for a solution for this myself recently – I need to create triangles with specific angles for some conical cutter templates – I know I can do it with transform/rotate options, but would be great to have an inbuilt option on the polygon tool, or a new 'triangle' tool where you can specify inner angles!? 

Anubhav M
Community Manager
Community Manager
March 6, 2025

Hello @bnjmngrn,

I understand that this functionality is important to you. Would you mind creating a UserVoice for this feature request (https://adobe.ly/41HBKZG) and adding your comments there? Doing this will help us prioritize this request, and you will be notified of any updates.


Also, try the suggestions shared in this tutorial (https://adobe.ly/4he1ocZ) and share your observations.

Feel free to reach out if you have more questions or need assistance. We'd be happy to help.

 

Anubhav

CarlosCanto
Community Expert
Community Expert
November 20, 2013

please elaborate, do you want to provide let's say 2 angles and build a triangle?

Inspiring
November 20, 2013

Yes exactly, I have noticed that there is no such script around the net. I don't have any Illustrator Scripting experience, I can only modify script with the help of scripting dictionaries:)

I have found an example in Adobe Illustrator Scripting Guide;

Basically I want two input box for degree and script should automatically creates a triangle. ( In fact it would be great if we would enter the values of edges (a,b) )

// Create 45 Degree Triangle

var doc = app.activeDocument;

var sel = doc.selection;

dw  = doc.width;

dh = doc.height;

wc= dw /2;

hc = dh *-0.5;

if ( app.documents.length > 0 ) {

var triangleGroup = app.activeDocument.groupItems.add();

// Create a triangle and add text, the new art is created inside the group

var trianglePath = triangleGroup.pathItems.add();

trianglePath.setEntirePath( Array( Array(0, 100), Array(100, 0),

Array(0,0) ) );

trianglePath.closed = true;

trianglePath.stroked = true;

trianglePath.filled =true;

trianglePath.strokeWidth = 3;

trianglePath.position = Array(wc,hc);

}

Would you please help me, I would be really grateful:)))

Inspiring
November 21, 2013

Triangle Maker (Side, Angle, Angle)

// Triangle Maker (Side, Angle, Angle)

// Carlos Canto - 11/21/13;

// http://forums.adobe.com/thread/1339420?tstart=0

var idoc = app.activeDocument;

var s_ssa = Window.prompt ('Enter 1 Side in points, 2 Angles in degrees, (Side, Angle1, Angle2)', '120, 30, 57', 'Triangle Maker');

var a_ssa = s_ssa.split(','); // turn into an array

var side = parseFloat (a_ssa[0]);

var angle1 = parseFloat (a_ssa[1]);

var angle2 = parseFloat (a_ssa[2]);

if (angle1+angle2<180) {

    var path1 = idoc.pathItems.add();

    var p0 = [0,0];

    var p1 = getSideAngePoint (side, angle1);

    var C = get3rdAngle (angle1, angle2);

    var teta = getTempAngle (C); // the one that forms a Right Angle Triangle, down from Side Point 2 and hipotenuse

    var adj = p1[1];

    var opo = oposite (adj, teta);

    var p2x = p1[0]+opo;

    var p2 = [p2x,0];

    path1.setEntirePath ([p0, p1, p2]);

    path1.closed = true;

}

else {alert('both angles combined should be less than 180');}

// returns point 2 given a segment length and its angle, point 1 is [0,0]

function getSideAngePoint(side, angle) {

    var rads = angle*Math.PI/180;

    var px = Math.cos(rads)*side;

    var py = Math.sin(rads)*side;

  return [px, py];

}

// given 2 angles, return the 3rd angle

function get3rdAngle(angle1, angle2) {

    return 180-angle1-angle2;

}

// return "TETA" in a complimentary Right Angle Triangle

function getTempAngle(thirdAngle) {

    return 90-thirdAngle;

}

// returns the Oposite side in the complimentary Right Angle Triangle

function oposite (adj, angle) {

    //tan teta = oposite/adjacent

    var rads = angle*Math.PI/180;

    var op = Math.tan (rads)*adj;

    return op;

}


Thanks a million:) it works like a charm..with your permission I would like to share it through my web site with your name. You're great:)))