<?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 - TCL - Recent Threads</title><link>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl</link><description>Allegro X Scripting - TCL</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: How to successfully place a custom TitleBlock in the TCL instructions for creating an OPJ</title><link>https://community.cadence.com/thread/1408604?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 08:37:58 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:f84ef3e8-8898-49f1-9e5a-89f6319dffe0</guid><dc:creator>FK202606088435</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408604?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/66051/how-to-successfully-place-a-custom-titleblock-in-the-tcl-instructions-for-creating-an-opj/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi TechnoBobby,&lt;/p&gt;
&lt;p&gt;No problem. Please refer to the following TCL command I&amp;#39;m currently experiencing issues with.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve tried several times but still can&amp;#39;t paste my TCL command content here. Please allow me to share it with you via a Google Drive shared link. The tcl and txt files contain the same content.&lt;/p&gt;
&lt;p&gt;URL:&lt;a href="https://drive.google.com/drive/folders/1xFMwL3FbEvZ0yQqglEbWdf-f9hRpPeyQ?usp=drive_link"&gt;drive.google.com/.../1xFMwL3FbEvZ0yQqglEbWdf-f9hRpPeyQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thank you for your assistance in replying.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to successfully place a custom TitleBlock in the TCL instructions for creating an OPJ</title><link>https://community.cadence.com/thread/66051?ContentTypeID=0</link><pubDate>Tue, 09 Jun 2026 03:00:04 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:017c8c09-f61e-473c-8f23-0208db410e81</guid><dc:creator>FK202606088435</dc:creator><slash:comments>4</slash:comments><comments>https://community.cadence.com/thread/66051?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/66051/how-to-successfully-place-a-custom-titleblock-in-the-tcl-instructions-for-creating-an-opj/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, Sir:&lt;/p&gt;
&lt;p&gt;In the OrCAD Capture CIS 23.1,&lt;/p&gt;
&lt;p&gt;In the DSN page of the manually created project, I can successfully place my custom TitleBlock using the same TCL commands.&lt;/p&gt;
&lt;p&gt;However, it does not work in the OPJ I currently create using the following TCL commands,&lt;/p&gt;
&lt;p&gt;and there are no error messages. After the entire circuit diagram is drawn, the lower right corner is still blank.&lt;/p&gt;
&lt;p&gt;Thank you for your careful and patient guidance.&lt;/p&gt;</description></item><item><title>RE: How to successfully place a custom TitleBlock in the TCL instructions for creating an OPJ</title><link>https://community.cadence.com/thread/1408603?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 08:32:18 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:6b6af561-29f0-4170-987f-1b94d8eb6e80</guid><dc:creator>TechnoBobby</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408603?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/66051/how-to-successfully-place-a-custom-titleblock-in-the-tcl-instructions-for-creating-an-opj/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi &lt;a href="/members/fk202606088435"&gt;FK202606088435&lt;/a&gt;&amp;nbsp;,&lt;br /&gt;&lt;br /&gt;Could you please confirm how you are trying to share the TCL, are you attempting to upload the *.tcl file directly to the forum, or are you trying to copy‑paste the commands into the reply thread? you can try pasting the script in smaller parts or share only the relevant portion causing the issue.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to successfully place a custom TitleBlock in the TCL instructions for creating an OPJ</title><link>https://community.cadence.com/thread/1408600?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 07:44:53 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:f554c6ee-86eb-48a5-85d9-e87052c63535</guid><dc:creator>FK202606088435</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408600?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/66051/how-to-successfully-place-a-custom-titleblock-in-the-tcl-instructions-for-creating-an-opj/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi TechnoBobby,&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve tried several times, but I still can&amp;#39;t paste my TCL command here. I also can&amp;#39;t share it with you via Google Drive sharing link. Is there any other way to share my TCL command?&lt;/p&gt;
&lt;p&gt;Thank you for your assistance in replying.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to successfully place a custom TitleBlock in the TCL instructions for creating an OPJ</title><link>https://community.cadence.com/thread/1408594?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 06:45:03 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:a71b9821-fecd-4125-a075-b52f211c6902</guid><dc:creator>TechnoBobby</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408594?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/66051/how-to-successfully-place-a-custom-titleblock-in-the-tcl-instructions-for-creating-an-opj/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div&gt;
&lt;div class="___47blsr0 fi64zpg fz5stix f79feoa fp9bwmr fxldao9 f22iagw f122n59"&gt;&lt;span style="font-size:inherit;"&gt;Hi &lt;a href="/members/fk202606088435"&gt;FK202606088435&lt;/a&gt;&amp;nbsp;,&lt;/span&gt;&lt;/div&gt;
&lt;div class="___r7kt3y0 fqerorx"&gt;
&lt;div class="fai-CopilotMessage r1f6yzd6 ___1fjo9g7 f1g2tzg5 fgct6un fy77jfu f2c7lf3"&gt;
&lt;div id="copilot-message-r3ig" class="fai-CopilotMessage__content r1izxv8h ___7qar2c0 fcthzvy" dir="auto"&gt;
&lt;div dir="auto"&gt;
&lt;div class="___1vve6yh f22iagw f1vx9l62 f122n59 f3bhgqh f1mnxvew fly5x3f"&gt;
&lt;div class="___j4vmuw0 f22iagw f1vx9l62 f1869bpl fly5x3f fbc6vix"&gt;
&lt;div data-testid="loading-message" data-fui-focus-visible=""&gt;
&lt;div id="response-idr3ie" class="___1yop6mf f336tjw f9ijwd5 fz7g6wx fod5ikn f1s184ao" data-testid="lastChatMessage"&gt;
&lt;div class="___1j4t0a1 f1lmfglv f1abmfm4" dir="auto" data-testid="markdown-reply" data-message-type="Chat"&gt;
&lt;div class="___ae8kgg0 f22iagw f1vx9l62 fkmyikg fk15e71 f1k953kz f137keqj f1rncccw f1stllg3 f1w4kmmc f1tric3v f10dk5ic fx8cdsv f16nlwsl f1eookvz fhjrts3 fqugt2f f18d18k8 f1v1vhmp f1hdmul3 f198vjnp f2dshw1 fjpjndq fnmj2pj ffrrb40 f1mon110 fhajzam fimndk6 fxv4dng fb1rn9k f59wlhv f1xmfh30 f18yf5o5 fmr6chf fw8qy2q ff161sd f1qr7t77 f1yyogn1 foogchg fp5872b f1tpb8gf f1hdgrc8 f1vatr43 frkxccd f9pdzkb f158oiaz ft5kggy f5l4ui7 f13j03li f18xdoka f8off4e f1go6zfc f128n2ra f1jpxw2j f1lwd9n0 fy0b8hm f1g2633v fx4kvgi fkvolse f1gxrt3a f1os76ua f1js9cnw f1g87ej0 freluf8 f1yggaq6 f2i3chp f1151osp florpoh f35kzfz ftp9m57 f1e288vi fz62hnz fixvuys f1nmofwh fc1c6mv f18a2er7 fhvkrdl fhxnn68 f1oce4bo fvhlfan f7tc0t0 f1ngf1n2 ffrzq6x f1yjiq2m f1aqdgql f1huvaf f10ij78l f1k94sa4 fkmfumq f1jvzkyl f1eu24ob f1xbfc1f fmf0lwf f107dsy8 f3w566c f4648sl f13zpkng f7unjfp f8p1rz fzu6h1w f1i1bi6h f1smo7hi f1sk1xod f1kgogdq f1gjktkp ft608jz f1o9wiiv fg3xr24 fhd155k f1b8gl2e fg4b9ou flb4lo fdicbfk fgwcyh1 f1jbds0d f1fb9uea f1stuka4 fcrtu6g fwqh0xn f11w66yg f6e0e65 f1vvgu0 f1607507 fgct6un f1ec1nbe f1m9bycv f1ntoah8 f1b694rt faql4r2 fpjuhzh fmavl6h f1d9bsk fmzhlt0 f145l92p fwkyaqm f129obh1 f19la9g f127w39w fr0ux9m fxhidck f1cu4h9j f1wnbo7v f1eueg4z fy9c24f f1h2o91j f1iw08fq f19n0e5"&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;Since the same TCL commands works in a manually created DSN, the issue is likely related to when and where the title block is being applied in the script. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;Could you confirm whether your script places the title block after the DSN is fully open and the page is created and set as active?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;Sharing your TCL snippet will help narrow this down.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;For further details, you can refer to below article on ASK portal:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;Article (20498203) Title: How to place custom title blocks based on page sizes in OrCAD X Capture&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:inherit;"&gt;URL: &lt;a href="https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O3w000009EpzQEAS"&gt;support.cadence.com/.../ArticleAttachmentPortal&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Generate ORCAD netlist (with orWirelist.dll) using TCL Script</title><link>https://community.cadence.com/thread/1408593?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 06:34:22 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:bb46dd72-dc61-48a9-9be7-4f343d479005</guid><dc:creator>TechnoBobby</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408593?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/51640/generate-orcad-netlist-with-orwirelist-dll-using-tcl-script/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi &lt;a href="/members/ca20240926987"&gt;CA20240926987&lt;/a&gt;&amp;nbsp;,&lt;br /&gt;&lt;br /&gt;If you&amp;#39;re looking to export similar format data using TCL script, you can try&amp;nbsp;below code.&lt;br /&gt;&lt;br /&gt;Hope this helps!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;proc pinConnectivityReport {} {&lt;br /&gt;&lt;br /&gt; if {[file exists "pinConnectivity.txt"] == 1} {&lt;/p&gt;
&lt;p&gt;file delete &amp;quot;pinConnectivity.txt&amp;quot;&lt;/p&gt;
&lt;p&gt;}&lt;br /&gt; set lPathCS [DboTclHelper_sMakeCString]&lt;br /&gt; [GetActivePMDesign] GetName $lPathCS&lt;br /&gt; set lPath [file dirname [DboTclHelper_sGetConstCharPtr $lPathCS]]&lt;br /&gt; set lSession $::DboSession_s_pDboSession&lt;br /&gt; DboSession -this $lSession&lt;br /&gt; set lNullObj NULL&lt;br /&gt; set lStatus [DboState]&lt;br /&gt; set lDesign [$lSession GetActiveDesign]&lt;br /&gt; if {$lDesign == $lNullObj} {&lt;br /&gt; puts &amp;quot;ERROR: No active design.&amp;quot;&lt;br /&gt; return&lt;br /&gt; }&lt;br /&gt; set lSchi_Name [DboTclHelper_sMakeCString]&lt;br /&gt; set lPinNameCS [DboTclHelper_sMakeCString]&lt;br /&gt; set lPinNumberCS [DboTclHelper_sMakeCString]&lt;br /&gt; set lNetNameCS [DboTclHelper_sMakeCString]&lt;br /&gt; set lRefdesNameCS [DboTclHelper_sMakeCString]&lt;br /&gt; set lReport [open "pinConnectivity.txt" a+]&lt;br /&gt; if {$lDesign != $lNullObj} {&lt;/p&gt;
&lt;p&gt;set lSchematicIter [$lDesign NewViewsIter $lStatus $::IterDefs_SCHEMATICS]&lt;br /&gt; #get the first schematic view&lt;br /&gt; set lView [$lSchematicIter NextView $lStatus]&lt;br /&gt; set lPage_Name [DboTclHelper_sMakeCString]&lt;br /&gt; while { $lView != $lNullObj} {&lt;br /&gt; #dynamic cast from DboView to DboSchematic&lt;br /&gt; set lSchematic [DboViewToDboSchematic $lView]&lt;br /&gt; $lSchematic GetName $lSchi_Name&lt;br /&gt; set lPagesIter [$lSchematic NewPagesIter $lStatus]&lt;br /&gt; #get the first page&lt;br /&gt; set lPage [$lPagesIter NextPage $lStatus]&lt;br /&gt; # puts [DboTclHelper_sGetConstCharPtr $lSchi_Name]&lt;br /&gt; while {$lPage!=$lNullObj} {&lt;br /&gt; #placeholder: do your processing on $lPage&lt;br /&gt; $lPage GetName $lPage_Name&lt;br /&gt; # puts [DboTclHelper_sGetConstCharPtr $lPage_Name]&lt;br /&gt; set lPageName [DboTclHelper_sGetConstCharPtr $lPage_Name]&lt;br /&gt; set lPartInstIter [$lPage NewPartInstsIter $lStatus]&lt;br /&gt; set lInst [$lPartInstIter NextPartInst $lStatus]&lt;br /&gt; while {$lInst != $lNullObj} {&lt;br /&gt; puts $lReport &amp;quot;++++++++++===========+++++++++++++&amp;quot;&lt;br /&gt; $lInst GetReferenceDesignator $lRefdesNameCS&lt;br /&gt; set lRefdes [DboTclHelper_sGetConstCharPtr $lRefdesNameCS]&lt;br /&gt; set lPinIter [$lInst NewPinsIter $lStatus]&lt;br /&gt; set lPin [$lPinIter NextPin $lStatus]&lt;br /&gt; &lt;br /&gt; while {$lPin !=$lNullObj } {&lt;br /&gt; # puts $lPin&lt;br /&gt; $lPin GetPinName $lPinNameCS&lt;br /&gt; set lPinName [DboTclHelper_sGetConstCharPtr $lPinNameCS]&lt;br /&gt; # puts &amp;quot;$lPinName pinName&amp;quot;&lt;br /&gt; $lPin GetPinNumber $lPinNumberCS&lt;br /&gt; set lPinNumber [DboTclHelper_sGetConstCharPtr $lPinNumberCS]&lt;br /&gt; # puts &amp;quot;$lPinNumber pinNumber&amp;quot;&lt;br /&gt; set lWire [$lPin GetNet $lStatus]&lt;br /&gt; # puts $lWire&lt;br /&gt; if {$lWire != $lNullObj} {&lt;br /&gt; $lWire GetNetName $lNetNameCS&lt;br /&gt; set lNetName [DboTclHelper_sGetConstCharPtr $lNetNameCS]&lt;br /&gt; # puts &amp;quot;$lRefdes.$lPinNumber.$lNetName.$lPageName&amp;quot;&lt;br /&gt; puts $lReport &amp;quot;$lRefdes.$lPinNumber.$lPinName.$lNetName.$lPageName&amp;quot;&lt;br /&gt; # puts [DboTclHelper_sGetConstCharPtr $lNetNameCS]&lt;br /&gt; }&lt;br /&gt; #get the next pin of the part&lt;br /&gt; set lPin [$lPinIter NextPin $lStatus]&lt;br /&gt; &lt;br /&gt; }&lt;br /&gt; delete_DboPartInstPinsIter $lPinIter&lt;br /&gt; puts $lReport &amp;quot;++++++++++===========+++++++++++++&amp;quot;&lt;br /&gt; set lInst [$lPartInstIter NextPartInst $lStatus]&lt;br /&gt; &lt;br /&gt; }&lt;br /&gt; delete_DboPagePartInstsIter $lPartInstIter&lt;br /&gt; #get the next page&lt;br /&gt; set lPage [$lPagesIter NextPage $lStatus]&lt;br /&gt; }&lt;br /&gt; #get the next schematic view&lt;br /&gt; delete_DboSchematicPagesIter $lPagesIter&lt;br /&gt; set lView [$lSchematicIter NextView $lStatus]&lt;br /&gt; }&lt;br /&gt; delete_DboLibViewsIter $lSchematicIter&lt;/p&gt;
&lt;p&gt;} &lt;br /&gt; close $lReport&lt;br /&gt; exec {*}[auto_execok start] &amp;quot;&amp;quot; &amp;quot;$lPath\\pinConnectivity.txt&amp;quot;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;pinConnectivityReport&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Generate ORCAD netlist (with orWirelist.dll) using TCL Script</title><link>https://community.cadence.com/thread/51640?ContentTypeID=0</link><pubDate>Tue, 10 May 2022 12:19:20 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:06239395-4d6b-4b22-9744-97356b879865</guid><dc:creator>Shanmugi</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/51640?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/51640/generate-orcad-netlist-with-orwirelist-dll-using-tcl-script/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I need to generate netlist with&amp;nbsp;orWirelist.dll&amp;nbsp;&lt;span&gt;(as if from the &amp;#39;other&amp;#39; tab in OrCAD) from orcad using TCL script.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I manually generated the script from tools-&amp;gt;create netlist-&amp;gt;other option -&amp;gt;&amp;nbsp;orWirelist.dll (under formatters option).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But trying to generate the same using TCL scripts.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is there a way to do, if so&amp;nbsp;&lt;/span&gt;kindly help me on the same.&lt;/p&gt;
&lt;p&gt;Thanks for your help in advance!&lt;/p&gt;</description></item><item><title>RE: Generate ORCAD netlist (with orWirelist.dll) using TCL Script</title><link>https://community.cadence.com/thread/1408588?ContentTypeID=1</link><pubDate>Tue, 09 Jun 2026 01:57:17 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:af55cf0f-8317-4042-9aef-a0882d80f13a</guid><dc:creator>CA20240926987</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408588?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/51640/generate-orcad-netlist-with-orwirelist-dll-using-tcl-script/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Did you ever figure this out? I am trying to solve this problem as well.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Add a tcl command I created and registered to the toolbar and also assign an icon to it programmatically for capture 17.2 version</title><link>https://community.cadence.com/thread/1408471?ContentTypeID=1</link><pubDate>Wed, 13 May 2026 16:44:38 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:8d0c118f-ed31-431a-9aee-9d23030cfcac</guid><dc:creator>CadAP</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408471?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65997/add-a-tcl-command-i-created-and-registered-to-the-toolbar-and-also-assign-an-icon-to-it-programmatically-for-capture-17-2-version/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;a href="/members/rs202512234819"&gt;RS202512234819&lt;/a&gt;&amp;nbsp; I would suggest add a separate menu or menu under Accessories tab and assign you custom proc to it.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;AddAccessoryMenu(lVendorName, lMenuName, proc) : returns bool&lt;br /&gt;Parameters:&lt;br /&gt;lVendorName: char const *&lt;br /&gt;lMenuName: char const *&lt;br /&gt;proc: char const *&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For adding custom menu&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Article (20240311) Title: How to add a custom menu in OrCAD Capture?&lt;br /&gt;URL: &lt;a href="https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000tbsyEAA"&gt;support.cadence.com/.../ArticleAttachmentPortal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Try and let me know in case of any concern.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Add a tcl command I created and registered to the toolbar and also assign an icon to it programmatically for capture 17.2 version</title><link>https://community.cadence.com/thread/65997?ContentTypeID=0</link><pubDate>Sun, 10 May 2026 13:27:23 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:322ae390-a37e-47b5-9142-f85db609f40b</guid><dc:creator>RS202512234819</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/65997?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65997/add-a-tcl-command-i-created-and-registered-to-the-toolbar-and-also-assign-an-icon-to-it-programmatically-for-capture-17-2-version/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,Sir:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; I had create a tcl command, and I want to register to the toolbar&amp;nbsp; and assign an icon to it for capture 17.2,&lt;/p&gt;
&lt;p&gt;I had try the &amp;quot;new&amp;quot; button from menu &amp;quot;Tool&amp;quot;---&amp;gt;&amp;quot;Customize&amp;quot;----&amp;gt;&amp;quot;Toolbars&amp;quot;,but it can&amp;#39;t bind the tcl command,&lt;/p&gt;
&lt;p&gt;please kindly help to give a method to&amp;nbsp;achieve it?&lt;/p&gt;
&lt;p&gt;thanks!&lt;/p&gt;</description></item><item><title>TCL to set active page in the treeview using SelectPMItem</title><link>https://community.cadence.com/thread/65984?ContentTypeID=0</link><pubDate>Mon, 04 May 2026 08:51:01 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:101ef490-6a09-49b9-812b-61d3400b5ec6</guid><dc:creator>fSeyer</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65984?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65984/tcl-to-set-active-page-in-the-treeview-using-selectpmitem/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Could anyone suggest an alternative to &lt;code data-start="371" data-end="385"&gt;SelectPMItem&lt;/code&gt;?&lt;br data-start="386" data-end="389" /&gt; I&amp;rsquo;m using it to set the active page in a tree view, but it ignores page names that contain &amp;quot;0&amp;quot;.&lt;/p&gt;</description></item><item><title>RE: TCL to set active page in the treeview using SelectPMItem</title><link>https://community.cadence.com/thread/1408419?ContentTypeID=1</link><pubDate>Mon, 04 May 2026 15:33:14 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:233e1ca8-c3f4-4b20-bec4-1f7e43cd46df</guid><dc:creator>fSeyer</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408419?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65984/tcl-to-set-active-page-in-the-treeview-using-selectpmitem/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi TechnoBobby,&lt;/p&gt;
&lt;p&gt;Thanks for respond!&lt;br /&gt; i have a UI that listed all the pages, my intend is to to print pdf or generate Bom for either per page or all page.&lt;br /&gt;usually we set page name stars from 01_circuit name ~ 10_circuit name.&amp;nbsp;&lt;br /&gt;i notice that only page name without &amp;quot;0&amp;quot; can used by SelectPMItem.&lt;br /&gt;&lt;br /&gt;here&amp;#39;s my code&lt;br /&gt;&lt;br /&gt; set sel [.pageReport.lb curselection]&lt;br /&gt; if {$sel eq &amp;quot;&amp;quot;} return&lt;br /&gt; set idx [lindex $sel 0]&lt;br /&gt; set text [string trim [.pageReport.lb get $idx]]&lt;br /&gt; if {$text eq &amp;quot;ALL PAGES&amp;quot;} {&lt;br /&gt; set lDesign [GetActivePMDesign]&lt;br /&gt; set lDesignName [DboTclHelper_sMakeCString]&lt;br /&gt; set lsts [$lDesign GetName $lDesignName]&lt;br /&gt; $lsts -delete&lt;br /&gt; set fullPath [DboTclHelper_sGetConstCharPtr $lDesignName]&lt;br /&gt; set splitPath [file split $fullPath]&lt;br /&gt; set dsnName [file rootname [lindex $splitPath end]]&lt;br /&gt; SelectPMItem &amp;quot;./$dsnName.DSN&amp;quot;&lt;br /&gt; }&lt;br /&gt; catch {SelectPMItem &amp;quot;$text&amp;quot;}&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TCL to set active page in the treeview using SelectPMItem</title><link>https://community.cadence.com/thread/1408407?ContentTypeID=1</link><pubDate>Mon, 04 May 2026 11:36:28 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:5eaf699c-9cf8-477b-9ed3-a4505309e7b1</guid><dc:creator>TechnoBobby</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408407?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65984/tcl-to-set-active-page-in-the-treeview-using-selectpmitem/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div&gt;
&lt;p&gt;Hi &lt;a href="/members/fseyer"&gt;fSeyer&lt;/a&gt;&amp;nbsp;,&lt;br /&gt;&lt;br /&gt;Could you clarify what you do after selecting the page in the Project Manager tree?&lt;br /&gt; Do you need the page selected only to make it active in the UI, or are you selecting it to obtain a DboPage and perform further operations on it?&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Use TCL to get all "page name" when no title block</title><link>https://community.cadence.com/thread/1408374?ContentTypeID=1</link><pubDate>Wed, 29 Apr 2026 12:08:44 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:ad5a16f1-3f94-4ea3-afa5-e91b806f7089</guid><dc:creator>CadAP</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408374?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65958/use-tcl-to-get-all-page-name-when-no-title-block/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;a href="/members/rs202512234819"&gt;RS202512234819&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;proc&amp;nbsp;lGetAllPages&amp;nbsp;{} {&lt;br /&gt;&lt;br /&gt; set lSession $::DboSession_s_pDboSession&lt;br /&gt; DboSession -this $lSession&lt;br /&gt; set lNullObj NULL&lt;br /&gt; set lStatus [DboState]&lt;br /&gt; set lDesign [$lSession GetActiveDesign]&lt;br /&gt; set lSchi_Name [DboTclHelper_sMakeCString]&lt;/p&gt;
&lt;p&gt;if {$lDesign != $lNullObj} {&lt;/p&gt;
&lt;p&gt;set lSchematicIter [$lDesign NewViewsIter $lStatus $::IterDefs_SCHEMATICS]&lt;br /&gt; #get the first schematic view&lt;br /&gt; set lView [$lSchematicIter NextView $lStatus]&lt;/p&gt;
&lt;p&gt;set lPage_Name [DboTclHelper_sMakeCString]&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; while { $lView != $lNullObj} {&lt;br /&gt; #dynamic cast from DboView to DboSchematic&lt;br /&gt; set lSchematic [DboViewToDboSchematic $lView]&lt;br /&gt; $lSchematic GetName $lSchi_Name&lt;br /&gt; set lPagesIter [$lSchematic NewPagesIter $lStatus]&lt;br /&gt; #get the first page&lt;br /&gt; set lPage [$lPagesIter NextPage $lStatus]&lt;/p&gt;
&lt;p&gt;# puts [DboTclHelper_sGetConstCharPtr $lSchi_Name]&lt;/p&gt;
&lt;p&gt;while {$lPage!=$lNullObj} {&lt;br /&gt; #placeholder: do your processing on $lPage&lt;br /&gt; $lPage GetName $lPage_Name&lt;br /&gt; puts [DboTclHelper_sGetConstCharPtr $lPage_Name]&lt;br /&gt; lappend pagelist [DboTclHelper_sGetConstCharPtr $lPage_Name]&lt;br /&gt; #get the next page&lt;br /&gt; set lPage [$lPagesIter NextPage $lStatus]&lt;br /&gt; }&lt;br /&gt; #placeholder: do your processing on $lSchematic&lt;/p&gt;
&lt;p&gt;#puts $lSchematic&lt;/p&gt;
&lt;p&gt;#get the next schematic view&lt;br /&gt; set lView [$lSchematicIter NextView $lStatus]&lt;br /&gt; }&lt;br /&gt; delete_DboLibViewsIter $lSchematicIter&lt;br /&gt; delete_DboSchematicPagesIter $lPagesIter&lt;/p&gt;
&lt;p&gt;} else { puts &amp;quot;No Active Design&amp;quot;; orPrm::DestroyWidget $i}&lt;br /&gt; &lt;br /&gt; return $pagelist&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;span&gt;lGetAllPages&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Above code will return all page names in a list format in capture command console.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Use TCL to get all "page name" when no title block</title><link>https://community.cadence.com/thread/65958?ContentTypeID=0</link><pubDate>Tue, 28 Apr 2026 01:13:28 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:30239092-09bf-4720-927a-12d83c66d343</guid><dc:creator>RS202512234819</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/65958?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65958/use-tcl-to-get-all-page-name-when-no-title-block/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, Sir:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;at now, my design had no titleblock on the all pages,&lt;/p&gt;
&lt;p&gt;and I want to use TCL to put titleblock an the all pages,&lt;/p&gt;
&lt;p&gt;but I can&amp;#39;t get the &amp;quot;page name&amp;quot;&amp;nbsp; value at the time.&lt;/p&gt;
&lt;p&gt;How can I do to get the all &amp;quot;page name&amp;quot;?&lt;/p&gt;
&lt;p&gt;use want method to do it?&lt;/p&gt;
&lt;p&gt;thanks!&lt;/p&gt;</description></item><item><title>Audit OLB's in directory</title><link>https://community.cadence.com/thread/65812?ContentTypeID=0</link><pubDate>Fri, 06 Mar 2026 12:47:56 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:65fabc88-4015-4664-be45-7625d9b4a1f6</guid><dc:creator>Mhawley1</dc:creator><slash:comments>5</slash:comments><comments>https://community.cadence.com/thread/65812?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65812/audit-olb-s-in-directory/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello Can anybody give me a boiler plate on batch opening OLB&amp;#39;s .&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I want to be able to open an OLB , read the names of all the symbols within and then close .&amp;nbsp;&lt;/p&gt;</description></item><item><title>RE: Audit OLB's in directory</title><link>https://community.cadence.com/thread/1408101?ContentTypeID=1</link><pubDate>Wed, 25 Mar 2026 14:31:46 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:1c9f022c-a7ec-4212-ba0d-06cbb954b4ff</guid><dc:creator>fSeyer</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408101?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65812/audit-olb-s-in-directory/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;any way to extract the pin count, pin numbers, pin name and xy positions of the selected part from the olb file?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TCL Script System Capture get ALL Custom Var from Project and all from all Variants</title><link>https://community.cadence.com/thread/1408095?ContentTypeID=1</link><pubDate>Wed, 25 Mar 2026 07:12:28 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:6f75a351-28c9-4615-8cf7-d45b35232361</guid><dc:creator>CadAP</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1408095?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65315/tcl-script-system-capture-get-all-custom-var-from-project-and-all-from-all-variants/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;a href="/members/pipe"&gt;PIPE&lt;/a&gt;&amp;nbsp;&lt;a href="/members/mz20250602835"&gt;MZ20250602835&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Please use below code to get the custom variable name and value in list:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;proc getCustomVar {} {&lt;/p&gt;
&lt;p&gt;# puts &amp;quot;entering check mode&amp;quot;&lt;br /&gt; set toolVar [lindex [cps::getAppVersion] 0]&lt;br /&gt; &lt;br /&gt; set lDesigName [sch::dbGetRootDesignName]&lt;br /&gt; cpb::extractFile &amp;quot;worklib/$lDesigName/variant/variant.dat&amp;quot; {variant.dat}&lt;br /&gt; set filename &amp;quot;variant.dat&amp;quot;&lt;br /&gt; set pattern &amp;quot;CV_&amp;quot;&lt;br /&gt; set fp [open $filename r]&lt;br /&gt; set functiontest {}&lt;br /&gt; while {[gets $fp line] &amp;gt;= 0} {&lt;br /&gt; if {[string match -nocase "*$pattern*" $line]} {&lt;br /&gt; # puts $line&lt;br /&gt; lappend functiontest $line&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; close $fp&lt;br /&gt; puts $functiontest&lt;br /&gt; if {[file exists $filename ] == 1} {&lt;br /&gt; &lt;br /&gt; file delete $filename&lt;br /&gt; &lt;br /&gt; }&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;getCustomVar&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;You have two variants, V1 and V2, and the expected result is as below:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;**Expected Result:**&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;{ CV_V1 = &amp;#39;TEST_V1=1236|TEST_V2=T_v1&amp;#39; ;} { CV_V2 = &amp;#39;TEST_V1=T1|TEST_V2=T2&amp;#39; ;}&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please do let me know your feedback.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>TCL Script System Capture get ALL Custom Var from Project and all from all Variants</title><link>https://community.cadence.com/thread/65315?ContentTypeID=0</link><pubDate>Wed, 08 Oct 2025 12:41:33 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:6262ab53-487e-4d7e-a140-06ce45bdca3a</guid><dc:creator>PIPE</dc:creator><slash:comments>10</slash:comments><comments>https://community.cadence.com/thread/65315?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65315/tcl-script-system-capture-get-all-custom-var-from-project-and-all-from-all-variants/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sorry, i have search a lot but found nothing.&lt;/p&gt;
&lt;p&gt;I must make some folders and my idea is to export via tcl all this information and with a exernal tool i read out this info and generate for every variant and master a sperate folder to but the bom etc inside.&lt;/p&gt;
&lt;p&gt;Thanks for your help.&lt;/p&gt;
&lt;p&gt;Peter&lt;/p&gt;</description></item><item><title>RE: TCL Script System Capture get ALL Custom Var from Project and all from all Variants</title><link>https://community.cadence.com/thread/1408079?ContentTypeID=1</link><pubDate>Tue, 24 Mar 2026 09:55:43 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:25f0e8a0-35d7-44c3-8287-57bd4e9a55a8</guid><dc:creator>PIPE</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408079?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65315/tcl-script-system-capture-get-all-custom-var-from-project-and-all-from-all-variants/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I unfortunately couldn&amp;#39;t find a way&amp;nbsp; to read or write the changed customvariables from the variant editor.&lt;/p&gt;
&lt;p&gt;The only way was to export the variant.dat and read everything from it.&lt;br /&gt;&lt;br /&gt;I solved this, however, with an external tool I wrote, because I needed this information externally anyway.&lt;/p&gt;
&lt;p&gt;if you find a tcl solution, please post it.&lt;/p&gt;
&lt;p&gt;-Peter&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: TCL Script System Capture get ALL Custom Var from Project and all from all Variants</title><link>https://community.cadence.com/thread/1408076?ContentTypeID=1</link><pubDate>Tue, 24 Mar 2026 08:16:48 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:dccb54ba-130b-4e1b-a55a-d29626d381b8</guid><dc:creator>MZ20250602835</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1408076?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65315/tcl-script-system-capture-get-all-custom-var-from-project-and-all-from-all-variants/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Dear CadAP,&lt;/p&gt;
&lt;p&gt;may i ask how could i make a TCL/&lt;span&gt;script&lt;/span&gt;&amp;nbsp;in order to get&amp;nbsp;the Custom variables variant specific Values for specific row(&lt;span&gt;For example row3 DOC_PART_PCBA&lt;/span&gt;) and then give/transfer this value to a customer variables?&lt;/p&gt;
&lt;p&gt;&lt;img height="341" src="https://community.cadence.com/resized-image/__size/548x682/__key/communityserver-discussions-components-files/138/pastedimage1773921794896v10.png" width="274" alt=" " /&gt;&amp;nbsp; &amp;nbsp;&lt;img height="219" src="https://community.cadence.com/resized-image/__size/1412x438/__key/communityserver-discussions-components-files/138/pastedimage1774332316793v5.png" width="706" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Many thanks&lt;/p&gt;
&lt;p&gt;Moyan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Difference between SKILL and RAVEL</title><link>https://community.cadence.com/thread/65858?ContentTypeID=0</link><pubDate>Fri, 20 Mar 2026 20:49:52 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:67f4f6b4-568c-408c-b190-d758652e0412</guid><dc:creator>JuanCR</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/65858?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65858/difference-between-skill-and-ravel/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;SKILL provides a safe, high-level programming environment that automatically handles many traditional system programming operations, such as memory management. SKILL programs can be immediately executed in the Cadence environment.&amp;nbsp;&lt;span&gt;The SKILL programming language lets you customize and extend your design environment.&amp;nbsp;&lt;/span&gt;SKILL is ideal for rapid prototyping.&lt;/p&gt;
&lt;p&gt;RAVEL&lt;span&gt;&amp;nbsp;is a language to implement design rules for PCB and Packaging&amp;nbsp;tools. It builds on a relational view of the design data.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The below table highlights the difference between SKILL and RAVEL:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:328px;max-width:506px;" height="328" src="https://community.cadence.com/resized-image/__size/1012x656/__key/communityserver-discussions-components-files/138/pastedimage1774039625812v9.png" width="506" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Following image shows the&amp;nbsp;code of SKILL and RAVEL.&lt;/p&gt;
&lt;p&gt;The article,&amp;nbsp;&lt;a href="https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000006AhKSUA0&amp;amp;pageName=ArticleContent" rel="noopener noreferrer" target="_blank"&gt;Syntax highlighting for SKILL and RAVEL in Notepad++ text editor&lt;/a&gt;, explains in more detail.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:237px;max-width:607px;" height="237" src="https://community.cadence.com/resized-image/__size/1214x474/__key/communityserver-discussions-components-files/138/pastedimage1774039728543v10.png" width="607" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DFM&amp;nbsp;Ravel Rules GUI&lt;/strong&gt;&lt;span&gt;&amp;nbsp;for PCB is shown below.&amp;nbsp;&lt;/span&gt;&lt;a href="https://community.cadence.com/cadence_blogs_8/b/pcb/posts/how-to-run-a-ravel-rule-from-the-gui" rel="noopener noreferrer" target="_blank"&gt;&lt;strong&gt;BoardSurfers: Training Insights: How to Run a RAVEL Rule from the GUI&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;span&gt;explains in detail how to run rules from&amp;nbsp;&lt;/span&gt;&lt;span&gt;the GUI&lt;/span&gt;&lt;span&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;&lt;img style="max-height:340px;max-width:530px;" height="340" src="https://community.cadence.com/resized-image/__size/1060x680/__key/communityserver-discussions-components-files/138/pastedimage1774039758969v11.png" width="530" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>RE: Audit OLB's in directory</title><link>https://community.cadence.com/thread/1407959?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2026 13:48:23 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:cffb988c-279a-4dce-90ef-6eed1b3ff152</guid><dc:creator>Mhawley1</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1407959?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65812/audit-olb-s-in-directory/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I can cope with that , I dont actually want the file , just the names . So as long as I close the capture session , hopefully the Lock files are removed .&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Audit OLB's in directory</title><link>https://community.cadence.com/thread/1407958?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2026 13:47:40 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:40831de6-160b-4699-b18d-00e4a3a5dcff</guid><dc:creator>Mhawley1</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/1407958?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65812/audit-olb-s-in-directory/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;This is better than what I needed , I actually don&amp;#39;t care to open the real file , I just want those names ! . Thank you Bob .&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Audit OLB's in directory</title><link>https://community.cadence.com/thread/1407957?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2026 13:28:29 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:63daf678-10d5-4085-8887-2888b84945fc</guid><dc:creator>PatEscher</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/1407957?ContentTypeID=1</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/pcb-design/f/allegro-x-scripting-tcl/65812/audit-olb-s-in-directory/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;open is &amp;#39;relative&amp;#39;.&lt;/p&gt;
&lt;p&gt;This code does not necessarily open the olb in the user Interface, but it does open the OLB inside OrCAD, so a lock file is created.&lt;br /&gt;you need to make sure&amp;nbsp;not keep any references open and close it, otherwise it will be locked till the end of the OrCAD session&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>