polyPours contours

bobwolf.rst
Participant

polyPours contours

bobwolf.rst
Participant
Participant

Hello everyone
I have a ULP for PCBs that worked for me in EAGLECAD
now I tried to see if it works for me on fusion360 and after various errors I realized that a part of the program that concerns:
polyPours() -> contours()
Is there anyone who could give me a hand?

 

ciao

Roberto

1 Like
Reply
467 Views
7 Replies
Replies (7)

bobwolf.rst
Participant
Participant

can anyone help me?

0 Likes

jorge_garcia
Autodesk
Autodesk

Hi @bobwolf.rst,

 

I hope you're doing well. Because polygons are handled differently in Fusion compared to EAGLE you have to update the ULP to use the correct type of polygon. If a polygon is connected to a net on a copper layer you use polypour, if it's just a polygon on a drawing layer than use polyshape. See the info here:

 

https://help.autodesk.com/view/fusion360/ENU/?guid=ECD-ULP-POLYPOUR

https://help.autodesk.com/view/fusion360/ENU/?guid=ECD-ULP-POLYSHAPE

 

Let me know if you continue to run into problems.

 

Best Regards,

 

 



Jorge Garcia
​Product Support Specialist for Fusion 360 and EAGLE

Kudos are much appreciated if the information I have shared is helpful to you and/or others.

Did this resolve your issue? Please accept it "As a Solution" so others may benefit from it.
1 Like

bobwolf.rst
Participant
Participant

Thanks for your help
I have done many tests and variations, I have already read and reread the links you pointed out to me and I have identified the part that doesn't work; in eagle's ULP instead of polypour there was polygons then everything is the same. in the fusion360 ULP it doesn't fit into the P.contours(W) part and I don't understand how I have to do to run the program

 

this is the part that doesn't work; If you want I will also attach the entire ULP

 

board(B){
    B.signals(S)
        {if (S.name == OutlinesSignalName)
            {S.polyPours(P)
                {P.wires(W)
                    {x1 = min(x1, W.x1);
                     x2 = max(x2, W.x1);
                     y1 = min(y1, W.y1);
                     y2 = max(y2, W.y1);}
                P.contours(W)
                     {WireX1[WireCount] = W.x1;
                       WireY1[WireCount] = W.y1;
                       WireX2[WireCount] = W.x2;
                       WireY2[WireCount] = W.y2;
                       ++WireCount;}}
               break;}

          }

}

1 Like

bobwolf.rst
Participant
Participant

Could you explain to me where I'm wrong

1 Like

rick_stemkens
Observer
Observer

Would be nice to get some direction on this:

 

Im using polygons in a script:

S.polygons(P) {
						if (ingroup(P)) {
							if (P.layer <= 16) {
								if (P.width > 0) {
									int first = 0;
									printf("Layer %d; change rank %d; change pour %s; change thermals %s; Polygon '%s' %gmm ", P.layer, P.rank, Pours[P.pour], OnOff[P.thermals], S.name, u2mm(P.width));
									P.wires(W) {
										if (first == 0) {
											printf("(R %g %g) ", u2mm(W.x1), u2mm(W.y1));
											first = 1;
										}
										printf("(R %g %g)", u2mm(W.x2), u2mm(W.y2));
									}
									printf(";\n");
								}
							}
						}
					}

And now I'm getting error that polygons is deprecated. But the Eagle/Fusion ULP manual say it still exists?

rick_stemkens1_0-1707489014278.png

I also tried the suggestions to change it to polyPours polyShapes polyCutouts instead. But no succes.
Do you mabye have any suggestions?

 

Thank you in advance


 

1 Like

jorge_garcia
Autodesk
Autodesk

Hello @rick_stemkens,

 

Polygons is fully deprecated within Fusion 360. Now you have to use Polypour, Polyshape, or POlycutouts. See the above references.

 

Best Regards,



Jorge Garcia
​Product Support Specialist for Fusion 360 and EAGLE

Kudos are much appreciated if the information I have shared is helpful to you and/or others.

Did this resolve your issue? Please accept it "As a Solution" so others may benefit from it.
0 Likes

jorge_garcia
Autodesk
Autodesk

Hi @bobwolf.rst,

 

The only thing that strikes me as odd is the use of both contours and wires. For trouble shooting I would try removing one of those code blocks to see if it works.

You may have to try doing S.Polypours twice.

 

Let me know what you find out.

 

Best Regards,



Jorge Garcia
​Product Support Specialist for Fusion 360 and EAGLE

Kudos are much appreciated if the information I have shared is helpful to you and/or others.

Did this resolve your issue? Please accept it "As a Solution" so others may benefit from it.
0 Likes