<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.cadence.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Allegro X Scripting - Skill - Recent Threads</title><link>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill</link><description>Allegro X Scripting - Skill</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: How to check BGA minimum pitch using Allegro Skill language</title><link>https://community.cadence.com/thread/1408930?ContentTypeID=1</link><pubDate>Fri, 17 Jul 2026 04:24:49 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:6f0370fe-ee1a-48f2-82e4-646af91976dd</guid><dc:creator>Hoangkhoipcb</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408930?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66158/how-to-check-bga-minimum-pitch-using-allegro-skill-language/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi&amp;nbsp;&lt;a class="internal-link view-user-profile" href="https://community.cadence.com/members/sg20260713408"&gt;&lt;span&gt;SG20260713408&lt;/span&gt;&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;Whenever you have some free time, I&amp;rsquo;d love to connect and discuss automation and skill development. I really appreciate your time.&lt;/p&gt;
&lt;p&gt;BR&lt;br /&gt;&lt;br /&gt;HoangKhoi&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to check BGA minimum pitch using Allegro Skill language</title><link>https://community.cadence.com/thread/66158?ContentTypeID=0</link><pubDate>Mon, 13 Jul 2026 06:33:23 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:f3e25ee6-3bd5-41cf-a121-043c8ef935b3</guid><dc:creator>BZ202408076026</dc:creator><slash:comments>5</slash:comments><comments>https://community.cadence.com/thread/66158?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66158/how-to-check-bga-minimum-pitch-using-allegro-skill-language/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I want to check&amp;nbsp;BGA minimum pitch. If BGA pitch is less than 0.5mm, need to highlight these BGA in PCB layout. Does anyone have experience to write script to do the check?&lt;/p&gt;</description></item><item><title>RE: How to check BGA minimum pitch using Allegro Skill language</title><link>https://community.cadence.com/thread/1408918?ContentTypeID=1</link><pubDate>Thu, 16 Jul 2026 02:10:12 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:19191cfc-86ae-430c-b5c4-37f2f5b536f1</guid><dc:creator>BZ202408076026</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408918?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66158/how-to-check-bga-minimum-pitch-using-allegro-skill-language/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi &lt;a href="/members/sg20260713408"&gt;SG20260713408&lt;/a&gt;&amp;nbsp;,&lt;/p&gt;
&lt;p&gt;I have tried the script and it works well. Many thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to check BGA minimum pitch using Allegro Skill language</title><link>https://community.cadence.com/thread/1408908?ContentTypeID=1</link><pubDate>Tue, 14 Jul 2026 07:17:38 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:b343227c-7fe5-4c47-afd0-af8feadc092f</guid><dc:creator>BZ202408076026</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408908?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66158/how-to-check-bga-minimum-pitch-using-allegro-skill-language/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi &lt;a href="/members/hoangkhoipcb"&gt;Hoangkhoipcb&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you for your quick answer! Our BGA property is stored in symbols-&amp;gt;DFA_DEV_CLASS.&lt;img style="max-height:480px;max-width:640px;" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/137/pastedimage1784013415223v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to check BGA minimum pitch using Allegro Skill language</title><link>https://community.cadence.com/thread/1408906?ContentTypeID=1</link><pubDate>Tue, 14 Jul 2026 03:30:15 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:9b57cfd5-789f-432d-8485-dfab312ba680</guid><dc:creator>SG20260713408</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/1408906?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66158/how-to-check-bga-minimum-pitch-using-allegro-skill-language/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;안녕하세요..&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아래 코드가 도움이 되시길 바랍니다.&lt;/p&gt;
&lt;p&gt;1. BGA 핀 PITCH가 정사각형 모양일 경우만 해당됩니다.&lt;/p&gt;
&lt;p&gt;2. 정사각형이므로 핀 2개만 체크하여 결과를 출력합니다.&lt;/p&gt;
&lt;p&gt;3. 코드입니다.&amp;nbsp;&lt;a class="internal-link view-user-profile" href="https://community.cadence.com/members/hoangkhoipcb"&gt;&lt;span&gt;Hoangkhoipcb&lt;/span&gt;&lt;/a&gt;&amp;nbsp;님의 코드를 일부 인용했습니다.&lt;/p&gt;
&lt;p&gt;4. 명령어는&amp;nbsp;&lt;span&gt;min_pitch_bga 이며&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; 체크할 pitch값을 수정하고 싶으시면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;min_pitch_bga 0.9 를 사용하시면됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;axlCmdRegister(&amp;quot;min_pitch_bga&amp;quot; &amp;#39;min_pitch_bga ?cmdType &amp;quot;interactive&amp;quot;)&lt;/p&gt;
&lt;p&gt;procedure(min_pitch_bga(@optional (argu_bga_pitch &amp;quot;0.5&amp;quot;) &amp;quot;S&amp;quot;)&lt;/p&gt;
&lt;p&gt;let((min_bga_pitch total_count symbols symbol_refdes sym_pins&lt;/p&gt;
&lt;p&gt;sym_pins all_pin_numbers a1_pin a2_pin a3_pin a4_pin a1_a2_dis a2_a3_dis a3_a4_dis)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; min_bga_pitch = atof(argu_bga_pitch)&lt;/p&gt;
&lt;p&gt;total_count = 0&lt;/p&gt;
&lt;p&gt;symbols = setof(e axlDBGetDesign() -&amp;gt; symbols e -&amp;gt; type == &amp;quot;PACKAGE&amp;quot; &amp;amp;&amp;amp; length(e -&amp;gt; pins) &amp;gt; 10)&lt;/p&gt;
&lt;p&gt;foreach(symbol symbols&lt;/p&gt;
&lt;p&gt;symbol_refdes = symbol -&amp;gt; refdes&lt;/p&gt;
&lt;p&gt;sym_pins = symbol -&amp;gt; pins&lt;/p&gt;
&lt;p&gt;all_pin_numbers = sym_pins ~&amp;gt; number&lt;/p&gt;
&lt;p&gt;a1_pin = car(member(&amp;quot;A1&amp;quot; all_pin_numbers))&lt;/p&gt;
&lt;p&gt;a2_pin = car(member(&amp;quot;A2&amp;quot; all_pin_numbers))&lt;/p&gt;
&lt;p&gt;a3_pin = car(member(&amp;quot;A3&amp;quot; all_pin_numbers))&lt;/p&gt;
&lt;p&gt;a4_pin = car(member(&amp;quot;A4&amp;quot; all_pin_numbers))&lt;/p&gt;
&lt;p&gt;if(a1_pin &amp;amp;&amp;amp; a2_pin then&lt;/p&gt;
&lt;p&gt;a1_pin = car(axlSelectByName(&amp;quot;PIN&amp;quot; strcat(symbol_refdes &amp;quot;.&amp;quot; a1_pin)))&lt;/p&gt;
&lt;p&gt;a2_pin = car(axlSelectByName(&amp;quot;PIN&amp;quot; strcat(symbol_refdes &amp;quot;.&amp;quot; a2_pin)))&lt;/p&gt;
&lt;p&gt;a1_a2_dis = axlDistance(a1_pin -&amp;gt; xy a2_pin -&amp;gt; xy)&lt;/p&gt;
&lt;p&gt;when(a1_a2_dis &amp;lt; min_bga_pitch&lt;/p&gt;
&lt;p&gt;axlHighlightObject(symbol)&lt;/p&gt;
&lt;p&gt;total_count = ++total_count&lt;/p&gt;
&lt;p&gt;printf(&amp;quot;RefDes(%s) , Pitch(%f)\n&amp;quot; symbol_refdes a1_a2_dis)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;if(a2_pin &amp;amp;&amp;amp; a3_pin then&lt;/p&gt;
&lt;p&gt;a2_pin = car(axlSelectByName(&amp;quot;PIN&amp;quot; strcat(symbol_refdes &amp;quot;.&amp;quot; a2_pin)))&lt;/p&gt;
&lt;p&gt;a3_pin = car(axlSelectByName(&amp;quot;PIN&amp;quot; strcat(symbol_refdes &amp;quot;.&amp;quot; a3_pin)))&lt;/p&gt;
&lt;p&gt;a2_a3_dis = axlDistance(a2_pin -&amp;gt; xy a3_pin -&amp;gt; xy)&lt;/p&gt;
&lt;p&gt;when(a2_a3_dis &amp;lt; min_bga_pitch&lt;/p&gt;
&lt;p&gt;axlHighlightObject(symbol)&lt;/p&gt;
&lt;p&gt;total_count = ++total_count&lt;/p&gt;
&lt;p&gt;printf(&amp;quot;RefDes(%s) , Pitch(%f)\n&amp;quot; symbol_refdes a2_a3_dis)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;if(a3_pin &amp;amp;&amp;amp; a4_pin then&lt;/p&gt;
&lt;p&gt;a3_pin = car(axlSelectByName(&amp;quot;PIN&amp;quot; strcat(symbol_refdes &amp;quot;.&amp;quot; a3_pin)))&lt;/p&gt;
&lt;p&gt;a4_pin = car(axlSelectByName(&amp;quot;PIN&amp;quot; strcat(symbol_refdes &amp;quot;.&amp;quot; a4_pin)))&lt;/p&gt;
&lt;p&gt;a3_a4_dis = axlDistance(a3_pin -&amp;gt; xy a4_pin -&amp;gt; xy)&lt;/p&gt;
&lt;p&gt;when(a3_a4_dis &amp;lt; min_bga_pitch&lt;/p&gt;
&lt;p&gt;axlHighlightObject(symbol)&lt;/p&gt;
&lt;p&gt;total_count = ++total_count&lt;/p&gt;
&lt;p&gt;printf(&amp;quot;RefDes(%s) , Pitch(%f)\n&amp;quot; symbol_refdes a3_a4_dis)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;printf(&amp;quot;Min_BGA_Pitch(%f) - Checking Symbol Count = %d\n&amp;quot; min_bga_pitch total_count)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;이상입니다.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to check BGA minimum pitch using Allegro Skill language</title><link>https://community.cadence.com/thread/1408902?ContentTypeID=1</link><pubDate>Mon, 13 Jul 2026 13:46:39 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:129c61ce-1bb3-48fa-a6bf-b8d40e82cedc</guid><dc:creator>Hoangkhoipcb</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408902?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66158/how-to-check-bga-minimum-pitch-using-allegro-skill-language/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div&gt;
&lt;div&gt;Hi&amp;nbsp;&lt;a href="https://community.cadence.com/members/bz202408076026"&gt;BZ202408076026&lt;/a&gt;,&lt;span&gt;&lt;br /&gt;&lt;br /&gt;I hope this will be helpful&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;axlCmdRegister&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;min_pitch_bga&amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;#39;min_pitch_bga&lt;/span&gt;&lt;span&gt; )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;defun&lt;/span&gt;&lt;span&gt;( &lt;/span&gt;&lt;span&gt;min_pitch_bga (&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;let&lt;/span&gt;&lt;span&gt;((tmp_list)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pins = &lt;/span&gt;&lt;span&gt;car&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;setof&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;axlDBGetDesign&lt;/span&gt;&lt;span&gt;()-&amp;gt;&lt;/span&gt;&lt;span&gt;symbols&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;refdes&lt;/span&gt;&lt;span&gt; ==&lt;/span&gt;&lt;span&gt;&amp;quot;BGA&amp;quot;&lt;/span&gt;&lt;span&gt;))-&amp;gt;&lt;/span&gt;&lt;span&gt;pins&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;length&lt;/span&gt;&lt;span&gt;(pins) &amp;gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;then&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;foreach&lt;/span&gt;&lt;span&gt;(pin pins&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp = &lt;/span&gt;&lt;span&gt;nil&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;foreach&lt;/span&gt;&lt;span&gt;(item &lt;/span&gt;&lt;span&gt;setof&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt; pins &lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;span&gt; != pin) &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;span&gt;( &lt;/span&gt;&lt;span&gt;axlDistance&lt;/span&gt;&lt;span&gt;(pin-&amp;gt;&lt;/span&gt;&lt;span&gt;xy&lt;/span&gt;&lt;span&gt; item-&amp;gt;&lt;/span&gt;&lt;span&gt;xy&lt;/span&gt;&lt;span&gt;) item) tmp))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;push&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;append1&lt;/span&gt;&lt;span&gt;( &lt;/span&gt;&lt;span&gt;car&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;sortcar&lt;/span&gt;&lt;span&gt;(tmp &lt;/span&gt;&lt;span&gt;&amp;#39;lessp&lt;/span&gt;&lt;span&gt;)) pin) tmp_list)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_list = &lt;/span&gt;&lt;span&gt;sortcar&lt;/span&gt;&lt;span&gt;(tmp_list &lt;/span&gt;&lt;span&gt;&amp;#39;lessp&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printf&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;Min pitch: %.3f&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt; &amp;quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;caar&lt;/span&gt;&lt;span&gt;(tmp_list))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;axlHighlightObject&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;cdr&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;car&lt;/span&gt;&lt;span&gt;(tmp_list)))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;BR&lt;br /&gt;&lt;br /&gt;HoangKhoi&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Shape Degassing parameters extraction using SKILL in allegro APD</title><link>https://community.cadence.com/thread/1408901?ContentTypeID=1</link><pubDate>Mon, 13 Jul 2026 10:31:58 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1de443d0-7420-432a-bd5c-5d22ba1293e4</guid><dc:creator>Hoangkhoipcb</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408901?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66149/shape-degassing-parameters-extraction-using-skill-in-allegro-apd/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi&amp;nbsp;&lt;a href="https://community.cadence.com/members/ananthvedalalm"&gt;AnanthVedalaLM&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I hope this will be helpful.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;axlShell&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;degas;skill values = nil fw = _axlFormHook(&lt;/span&gt;&lt;span&gt;\&amp;quot;&lt;/span&gt;&lt;span&gt;degassing_menu&lt;/span&gt;&lt;span&gt;\&amp;quot;&lt;/span&gt;&lt;span&gt;) foreach(field fw-&amp;gt;fields push(list(field axlFormGetField(fw field)) values)) &amp;nbsp;axlShell(&lt;/span&gt;&lt;span&gt;\&amp;quot;&lt;/span&gt;&lt;span&gt;done&lt;/span&gt;&lt;span&gt;\&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;printf&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;Degassing Values %L&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt; values)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;br /&gt;BR,&lt;br /&gt;HoangKhoi&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Shape Degassing parameters extraction using SKILL in allegro APD</title><link>https://community.cadence.com/thread/66149?ContentTypeID=0</link><pubDate>Wed, 08 Jul 2026 23:02:08 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:fc82f7a0-54dc-4782-bf33-d356d80fb82a</guid><dc:creator>AnanthVedalaLM</dc:creator><slash:comments>4</slash:comments><comments>https://community.cadence.com/thread/66149?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66149/shape-degassing-parameters-extraction-using-skill-in-allegro-apd/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m trying to extract the values set for a specific degassing pattern using skill , but instead of name , i&amp;#39;m unable to get anything else , is there any way we can extract the void array parameters and void spacing constraints that we set in the shape degassing tool, instead of using GUI, is there any other option to set those parameters for a pattern and also extract them&amp;nbsp;&lt;br /&gt;&lt;br /&gt;usually i&amp;#39;m getting the pattern name in this way&lt;br /&gt;&lt;br /&gt;shapedbId-&amp;gt;shapeBoundary-&amp;gt;prop-&amp;gt;&lt;span&gt;DEGAS_SHAPE_PROPERTIES&lt;br /&gt;&lt;br /&gt;which just leaves me with the name of the pattern used on the shape, but unable to figure out how do we actually get these parameters using skill&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;other questions i have ,&lt;br /&gt;&lt;br /&gt;Are these parameters for the dynamic shapes global or local ? and how are these parameters stored in the database&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>RE: Shape Degassing parameters extraction using SKILL in allegro APD</title><link>https://community.cadence.com/thread/1408900?ContentTypeID=1</link><pubDate>Mon, 13 Jul 2026 05:35:15 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:127b3b3c-f00f-4ef4-b935-1f32ae80ddf9</guid><dc:creator>B Bruekers</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408900?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66149/shape-degassing-parameters-extraction-using-skill-in-allegro-apd/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;It looks like these parameters are stored in an attachment:&amp;nbsp;axlGetAttachment(&amp;quot;lbd_param&amp;quot; &amp;#39;string)-&amp;gt;data&lt;/p&gt;
&lt;p&gt;Perhaps this helps?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Shape Degassing parameters extraction using SKILL in allegro APD</title><link>https://community.cadence.com/thread/1408896?ContentTypeID=1</link><pubDate>Fri, 10 Jul 2026 15:06:19 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:ffcf2b06-6d51-4177-8a90-8e219720ef80</guid><dc:creator>AnanthVedalaLM</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408896?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66149/shape-degassing-parameters-extraction-using-skill-in-allegro-apd/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Yes , I&amp;#39;m Talking about the following values that we set in the shape degassing menu, once we set these values, we can save them as patterns, i&amp;#39;m tying to get those values using SKILL, to use for other purposes and trying to modify them to create a new pattern&lt;/span&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/137/Adobe-Express-_2D00_-file.jpg" /&gt;&lt;img style="max-height:480px;max-width:640px;" alt=" " src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/137/Screenshot-2026_2D00_07_2D00_10-074649.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Shape Degassing parameters extraction using SKILL in allegro APD</title><link>https://community.cadence.com/thread/1408895?ContentTypeID=1</link><pubDate>Fri, 10 Jul 2026 14:32:15 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:5bd503c4-d027-4b8c-ab1e-6fee147573b2</guid><dc:creator>JuanCR</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408895?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66149/shape-degassing-parameters-extraction-using-skill-in-allegro-apd/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi. What do you mean global or local? with respect to what? Yes, they are in the database. When you say &amp;quot;parameters&amp;quot;, I assume you&amp;#39;re talking about the type of shape of the void, size of it, separation, etc. right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: axlOpenDesignForBatch( works differently between 22.1 and 25.1 ( appears broken )</title><link>https://community.cadence.com/thread/1408866?ContentTypeID=1</link><pubDate>Wed, 08 Jul 2026 11:58:28 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d20949e2-fecf-4db5-9dd5-12de144095dd</guid><dc:creator>Mhawley1</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408866?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66141/axlopendesignforbatch-works-differently-between-22-1-and-25-1-appears-broken/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Nope , nevermind . I am an idiot . There is a variable in preferences that needs to be set true for that command to work with no prompts .&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It called NOCONFIRM . Once that is checked the skill works as expected .&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>axlOpenDesignForBatch( works differently between 22.1 and 25.1 ( appears broken )</title><link>https://community.cadence.com/thread/66141?ContentTypeID=0</link><pubDate>Tue, 07 Jul 2026 13:05:43 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:a6aa6e00-b9ce-4d28-a96c-cd6976be4393</guid><dc:creator>Mhawley1</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/66141?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66141/axlopendesignforbatch-works-differently-between-22-1-and-25-1-appears-broken/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I just found something interesting today and would be nice for someone to test.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It would seem like&amp;nbsp;axlOpenDesignForBatch( no longer runs without a save prompt in 25.1 under the WF mode . Can someone try this out . Try out the example and see if you can batch open two dra&amp;#39;s without the prompt coming up .&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;axlOpenDesignForBatch(&amp;quot;u.dra&amp;quot; &amp;quot;wf&amp;quot;)&amp;nbsp; ( tested in 25.1 S 30 )&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Should I make a ticket ?&lt;/p&gt;</description></item><item><title>How to import a techfile through SKILL</title><link>https://community.cadence.com/thread/66129?ContentTypeID=0</link><pubDate>Thu, 02 Jul 2026 12:30:33 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:724bfde6-78c7-4dad-b6b3-f16d0f02e3c6</guid><dc:creator>JuanCR</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/66129?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66129/how-to-import-a-techfile-through-skill/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;axlRunBatchDBProgram&lt;/span&gt; can be used to import a techfile.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the design in Allegro X PCB Editor or Package Designer and type skill at the command line:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&amp;nbsp;Command &amp;gt; skill&lt;/span&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;The command line changes to the Skill prompt:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp; &amp;nbsp; Skill &amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;The following skill code&amp;nbsp;will create a log file and import a techfile. In the following skill code, replace&amp;nbsp;mytechfile.tcfx&amp;nbsp;with your own&amp;nbsp;techfile name including the .tcfx extension:&lt;/li&gt;
&lt;/ol&gt;
&lt;p style="padding-left:60px;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;font-size:150%;"&gt;Skill &amp;gt; axlRunBatchDBProgram(&amp;quot;techfile&amp;quot; &amp;quot;techfile -$ -r mytechfile.tcfx %s&amp;quot; ?reloadDB t ?logfile &amp;quot;techfile&amp;quot;)&lt;/span&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;Wait while the techfile (apd) runs:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img style="max-height:480px;max-width:640px;" src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/137/pastedimage1782995317444v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;ol start="5"&gt;
&lt;li&gt;The view of the&amp;nbsp;techfile UI will appear.&amp;nbsp;Scroll to view the summary.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Close the file.&lt;/li&gt;
&lt;li&gt;In the database, to exit from the skill prompt, type&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;exit&lt;/span&gt;:&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;Skill &amp;gt; exit&lt;/span&gt;&lt;/p&gt;
&lt;ol start="8"&gt;
&lt;li&gt;The Command window changes from&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Skill &amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to&amp;nbsp;&lt;span&gt;Command &amp;gt;&lt;/span&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Command &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>axlDesignFlip()</title><link>https://community.cadence.com/thread/66107?ContentTypeID=0</link><pubDate>Fri, 26 Jun 2026 10:06:26 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:ff66850c-769d-4776-a93b-dfc093d486e7</guid><dc:creator>DavidAhl</dc:creator><slash:comments>5</slash:comments><comments>https://community.cadence.com/thread/66107?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66107/axldesignflip/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Im using the&amp;nbsp;&lt;span&gt;axlDesignFlip() in a script. In version 23.1 it worked great but when i run the script in version 25.1 it wont flip back the design. From the documentation i cant see that anything has changed. Is this a known bug in 25.1 or have i missed if something changed?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I tried this in both 23.1 and 25.1, both gave the same print out but in 25.1 the design doesnt flip back..&lt;img src="https://community.cadence.com/resized-image/__size/1280x960/__key/communityserver-discussions-components-files/137/pastedimage1782468170907v2.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;best regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;david&lt;/span&gt;&lt;/p&gt;</description></item><item><title>RE: axlDesignFlip()</title><link>https://community.cadence.com/thread/1408826?ContentTypeID=1</link><pubDate>Thu, 02 Jul 2026 06:37:45 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:ba18769f-eaff-4392-a6b8-d0f7efc925cc</guid><dc:creator>DavidAhl</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408826?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66107/axldesignflip/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I got confirmation from our support that it is a bug in 25.1. They have created a case with Cadence to get it fixed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: axlDesignFlip()</title><link>https://community.cadence.com/thread/1408800?ContentTypeID=1</link><pubDate>Mon, 29 Jun 2026 07:02:40 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:ee43fc60-3394-4685-89d4-88f94fa16e81</guid><dc:creator>DavidAhl</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408800?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66107/axldesignflip/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Thank you for your reply,&lt;/p&gt;
&lt;p&gt;I get the same result as before when trying this. It flips back in 23.1 but in 25.1 is stays flipped.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: axlDesignFlip()</title><link>https://community.cadence.com/thread/1408799?ContentTypeID=1</link><pubDate>Mon, 29 Jun 2026 06:58:18 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:4f953c08-d019-4968-afb2-915f38721b68</guid><dc:creator>DavidAhl</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408799?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66107/axldesignflip/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Just to print out what the program thinks the status is. Since it was behaving wierd.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: axlDesignFlip()</title><link>https://community.cadence.com/thread/1408793?ContentTypeID=1</link><pubDate>Fri, 26 Jun 2026 17:18:38 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:b8cc4f86-e1c1-4030-b5f2-58b6e0ee32ea</guid><dc:creator>Ejlersen</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408793?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66107/axldesignflip/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;According to the documentation you can do the following to toggle the display of flipping the design&amp;nbsp;&lt;/p&gt;
&lt;p&gt;axlDesignFlip( !axlDesignFlip())&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: axlDesignFlip()</title><link>https://community.cadence.com/thread/1408792?ContentTypeID=1</link><pubDate>Fri, 26 Jun 2026 16:42:33 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:475d2e91-7bea-40f9-8c7a-2199a0f4bb9b</guid><dc:creator>Elecguy</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/1408792?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66107/axldesignflip/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;May I ask why sometimes you pass an argument to the function and why sometimes you don&amp;#39;t?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Place Via Array Boundary</title><link>https://community.cadence.com/thread/1408740?ContentTypeID=1</link><pubDate>Thu, 18 Jun 2026 09:53:48 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:96fdf144-0bfa-459d-bb42-258565f427df</guid><dc:creator>zpofrp</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408740?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/62813/place-via-array-boundary/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;HoangKho and&amp;nbsp;karthikeyank,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Could you share the skill to place via on both sides of cline.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Place Via Array Boundary</title><link>https://community.cadence.com/thread/62813?ContentTypeID=0</link><pubDate>Mon, 04 Nov 2024 09:08:27 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d2ba91a6-d843-4cda-a3b1-369c84260937</guid><dc:creator>karthikeyank</dc:creator><slash:comments>5</slash:comments><comments>https://community.cadence.com/thread/62813?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/62813/place-via-array-boundary/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi All,&lt;/p&gt;
&lt;p&gt;I want to do some operations like Place-&amp;gt;Via Array-&amp;gt;Boundary, I have additional requirements. I don&amp;#39;t know how to place via in ODD and ARC Segments. Can anyone plz help me out.&lt;/p&gt;
&lt;p&gt;Program:&lt;/p&gt;
&lt;p&gt;foreach(ClineDtlp ClineDt&lt;br /&gt; foreach(ClineSegDtlp ClineDtlp-&amp;gt;segments&lt;br /&gt; ObVal = ClineSegDtlp-&amp;gt;objType&lt;br /&gt; XpointF = xCoord(car(ClineSegDtlp-&amp;gt;startEnd))&lt;br /&gt; YpointF = yCoord(car(ClineSegDtlp-&amp;gt;startEnd))&lt;br /&gt; XpointS = xCoord(cadr(ClineSegDtlp-&amp;gt;startEnd))&lt;br /&gt; YpointS = yCoord(cadr(ClineSegDtlp-&amp;gt;startEnd))&lt;br /&gt; println(ObVal)&lt;br /&gt; if(ObVal == &amp;quot;line&amp;quot; then&lt;br /&gt; LnVal = sprintf(nil &amp;quot;%s&amp;quot;, ClineSegDtlp-&amp;gt;lineType)&lt;br /&gt; if(LnVal == &amp;quot;vertical&amp;quot; then&lt;br /&gt; FirstVal = axlDBGetLength(ClineSegDtlp)&lt;br /&gt; println(FirstVal)&lt;br /&gt; FirstVal = round(FirstVal)&lt;br /&gt; PassVal = FirstVal / 30 &lt;br /&gt; PassStr = sprintf(nil &amp;quot;%d&amp;quot;, PassVal)&lt;br /&gt; PassPrseStr = atoi(nth(0 parseString(PassStr &amp;quot;-&amp;quot;)))&lt;br /&gt; println(PassPrseStr)&lt;br /&gt; if(YpointF &amp;gt; YpointS then&lt;br /&gt; for(i 1 PassPrseStr&lt;br /&gt; myvia = axlDBCreateVia(&amp;quot;DUMMY_20MIL&amp;quot;, XpointF + 50:YpointF, nil, nil, 0.0, nil)&lt;br /&gt; YpointF = YpointF - 30&lt;br /&gt; )&lt;br /&gt; else&lt;br /&gt; for(i 1 PassPrseStr&lt;br /&gt; myvia = axlDBCreateVia(&amp;quot;DUMMY_20MIL&amp;quot;, XpointF + 50:YpointS, nil, nil, 0.0, nil)&lt;br /&gt; YpointS = YpointS - 30&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; else&lt;br /&gt; if(LnVal == &amp;quot;horizontal&amp;quot; then&lt;br /&gt; ;Code&lt;br /&gt; else&lt;br /&gt; if(LnVal == &amp;quot;odd&amp;quot; then&lt;br /&gt; ;Code&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; else&lt;br /&gt; if(ObVal == &amp;quot;arc&amp;quot; then&lt;br /&gt; ;Code&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt; )&lt;br /&gt;)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Image:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:229px;max-width:223px;" height="229" src="https://community.cadence.com/resized-image/__size/446x458/__key/communityserver-discussions-components-files/137/pastedimage1730711191925v1.png" width="223" alt=" " /&gt;&lt;/p&gt;</description></item><item><title>customized GUI to control artwork film</title><link>https://community.cadence.com/thread/66019?ContentTypeID=0</link><pubDate>Mon, 01 Jun 2026 05:45:19 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:7a793bfc-6373-49b3-b7d0-0e48a6ad3a8a</guid><dc:creator>MZ20250602835</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/66019?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66019/customized-gui-to-control-artwork-film/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Dear all,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;i would like to use film_domain.form as the base to create a customized GUI in which the user/Layouter can assign specific artwork films for Artwork and PDF domains(the Domains IPC2581 and Visibility will not be displayed).&lt;/p&gt;
&lt;p&gt;may i ask in my case which skill should i used to achieve the expected function?&lt;/p&gt;
&lt;p&gt;Many thanks&lt;/p&gt;
&lt;p&gt;Moyan&lt;/p&gt;</description></item><item><title>RE: customized GUI to control artwork film</title><link>https://community.cadence.com/thread/1408592?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 06:30:10 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:659c2dff-333e-48ef-b126-10b0ac18fbda</guid><dc:creator>MZ20250602835</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408592?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66019/customized-gui-to-control-artwork-film/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Dear&amp;nbsp;&lt;span&gt;techiecs,&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;glad to give a update:&lt;/p&gt;
&lt;p&gt;I created the skill with your help(&lt;span&gt;axlFilmCreate&amp;nbsp;&lt;/span&gt;) and it works as i expect. Many thanks again for your help and support.&lt;/p&gt;
&lt;p&gt;Many thanks again and best Regards&lt;/p&gt;
&lt;p&gt;Moyan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to start SKILL IDE from APD or Allegro in Linux?</title><link>https://community.cadence.com/thread/66046?ContentTypeID=0</link><pubDate>Fri, 05 Jun 2026 23:35:51 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:046b6cba-5a0d-4373-b1da-0d9de9dc069c</guid><dc:creator>JuanCR</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/66046?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-skill/66046/how-to-start-skill-ide-from-apd-or-allegro-in-linux/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;The debugger environment is not so convenient for&amp;nbsp;APD / Allegro&amp;nbsp;debug. It is&amp;nbsp;more oriented for SKILL DFII development. SKILL Debugger is incapable to debug the axlSKILL (Allegro specific) functions.&lt;/p&gt;
&lt;p&gt;There is no graphical debugger for axlSKILL, but you can set the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;telskill&amp;nbsp;&lt;/span&gt;environment variable to open a SKILL development window.&lt;/p&gt;
&lt;p&gt;If you are looking for line debugger with Allegro, there are some command line debugging options available to you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;installDebugger()&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;axlDebug()&amp;nbsp;&lt;/span&gt;are functions you can use to set debug mode.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;The following is an extract from the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;axlIsDebug()&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;function description in cdnshelp, which describes what axlDebug enables:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;When this mode is set, AXL may print additional AXL API argument warnings when arguments to AXL functions are incorrect. Many warnings do not obey this variable because they are considered serious or edge conditions. Warnings supported are less serious and are known from user feedback to be troublesome to program around.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Typically, when an AXL API function encounters an argument error, it will print a warning and return nil.&lt;br /&gt;When unset, the code runs in development mode and eliminates many of these warnings. You should have this mode enabled when developing SKILL code.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Another function&amp;nbsp;available to you is&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;sstatus&lt;/span&gt;. Refer to the online documentation to get the full list of the internal variable names and switch values available to you through this command.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;sstatus(&lt;br /&gt;s_name&lt;br /&gt;g_switchValue&lt;br /&gt;)&lt;br /&gt;=&amp;gt; g_switchValue&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Sets the internal system variable named to a given value. This is a syntax form. Internal variables are typically Boolean switches that accept only the Boolean values of&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;t&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;nil&lt;/span&gt;. Efficiency and security are the reasons why these system variables are stored as internal variables, which can only be set by&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;sstatus&lt;/span&gt;, rather than as SKILL variables you can set directly.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Other things you can do are set breakpoints with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;breakpt&amp;nbsp;&lt;/span&gt;and then progress through your code with step and continue etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;The online document,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;SKILL Development Functions Reference&lt;/em&gt;, is helpful for describing the functions. However,&amp;nbsp;you&amp;nbsp;must be aware that any reference to a graphical interface for debugging does not apply to axlSKILL. As with any programming language, you can set a debug variable and then make conditional checks for it. If set, you can have your code print values of variables from your code.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The other way to check the code before delivery is to launch the SKLINT tool and to try to solve all warnings, errors given by this tool.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Steps to use SKLINT on UNIX:&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Run&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;setenv &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;TELSKILL&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp;&lt;/span&gt;in your local env file.&lt;/li&gt;
&lt;li&gt;Run Allegro and then keep Allegro iconified.&lt;/li&gt;
&lt;li&gt;In the current shell window, the prompt becomes&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;SKILL&amp;gt;&lt;/span&gt;. Launch&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;SKILL&amp;gt; sklint ?file &amp;quot;filetodebug.il&amp;quot;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;filetodebug.il&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the file name you want to debug.&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>