Developer forum
cancel
Showing results for 
Search instead for 
Did you mean: 

edges of Poly2_b{5} curves convert to HotArc2

GDL Enthusiast
Participant

Hi Experts,

 

I would like to add some clickable edges to a Poly2_b{5}. At the moment I can only click in the middle of the Poly2_b{5} fill to select it. I need to be able to select the outer perimeter for aligning the edges to other objects.

 

I can match the Hotline2 commands to the linear edges of the Poly2_b{5}. However how can I HotArc2 the Poly2_b{5}curves? Or is there any other way to make the edges clickable?

 

Poly2_b{5} uses the Arc using centerpoint and angle with the 900 and 4000:

x0, y0, 900, !Set centerpoint
0, a, 4000+s, !Arc using centerpoint and angle

 

Whilst Hotarc2 uses:

hotarc2 xCenterPoint, yCenterPoint, radius, angleStart, angleEnd, unID

 

Is there a way to write duplicate and change the original Poly2_b{5} code so that Hotarc2 can follow the curves of the Poly2_b{5}? 

 

Thank you so much for your help, I have been battling this for several days!

2 ACCEPTED SOLUTIONS

Solution

No, The hotarc's and hotlines have to be scripted separately, you can use the polyline values (if using put or matrix parameters obviously, but it has to be phrased and the angles calculated on center and starting point/ angle in poly definition.

Piotr

View solution in original post

Solution
Lingwisyer
Virtuoso

Time to pull out the highschool trigonometry!

 

arctan( dx / dy )

AC18-23 AUS 7000
Self-taught, bend it till it breaks.
Win10 | E5620 x 2 | 24GB | K2200

View solution in original post

11 REPLIES 11

Solution

No, The hotarc's and hotlines have to be scripted separately, you can use the polyline values (if using put or matrix parameters obviously, but it has to be phrased and the angles calculated on center and starting point/ angle in poly definition.

Piotr

View solution in original post

Hi Piotr, thanks so much, I had wondered but thought I would check. Thank you again!

Solution
Lingwisyer
Virtuoso

Time to pull out the highschool trigonometry!

 

arctan( dx / dy )

AC18-23 AUS 7000
Self-taught, bend it till it breaks.
Win10 | E5620 x 2 | 24GB | K2200

View solution in original post

Hi Lingwisyer, thank you to for responding, I will have to look up arctan( dx / dy ) and dust off some maths books. All the best!

tanΘ = opposite / adjacent

In this case. Change in X (dX) / Change in Y (dY) between your starting node and the centre node.

arctan is the same as tan⁻¹

Θ = arctan( dx / dy )

You may then need to add 90 depending on whether zero is vertical or horizontal. You may also need to subtract Θ from 360 if X₁ < X₂

 

 

 

Ling.

AC18-23 AUS 7000
Self-taught, bend it till it breaks.
Win10 | E5620 x 2 | 24GB | K2200

sin / cos rather... tan-likes can blow up  😜

Lingwisyer
Virtuoso

One of my objects contains trig equations which exceed the line limit so have to be split into various parts...

AC18-23 AUS 7000
Self-taught, bend it till it breaks.
Win10 | E5620 x 2 | 24GB | K2200

use the Force Luke: and use "\"  😜

I mean the *character limit for a string, which a new line does not fix. I did not know about this identifier.

 

In reality I should probably break it down more as it is the merge of several equations so by breaking it down it would be easier to understand. On several occasions I have myself needed to work parts of the equations backwards to figure out what they actually did...

 

 

 

Ling.

AC18-23 AUS 7000
Self-taught, bend it till it breaks.
Win10 | E5620 x 2 | 24GB | K2200

Sometimes this can be overriden by summing up parameters...but I do not know how many characters You have there...

Peter Baksa
Graphisoft
Graphisoft

If it is your object which defines the geometry, you probably have the centerpoints of the circles to calculate with.

If you have to draw generic polygons from profiles, it might be easier to use "ProfileConverter" macro. This article explains the reverse conversion, hope you will be able to figure it out reading the code. We are in the process of writing some articles on GDLCenter about it.

Péter Baksa
Software Engineer, Library as a Platform
GRAPHISOFT SE, Budapest

Still looking?

Browse more topics

Back to forum

See latest solutions

Accepted solutions

Start a new discussion!