{"sections":[{"heading":"Before starting","paragraphs":["Download the complete example ZIP or save the three complete code blocks below under their exact filenames in the same writable folder. No GDS file is required. This public teaching stack is not a fabrication process or calibration for your device."]},{"figures":[{"asset_id":"studio-inline-parameters","caption":"Raw IXI exposes the command references, explicit variables and M1 polygon. The visible TERM alias warning is explained under recovery. This image does not show a GUI extraction."}],"heading":"Steps","steps":["Open strip.ixi in Studio and choose Raw IXI. Check Mode MQS, MeshType CUBE and the relative process/netlist filenames.","Declare strip_length and strip_width before the STRUCT record. The supplied values are 100 and 10; explicit %variable references drive every affected polygon, terminal and label coordinate.","Keep each XY pair on its own line and close every record with $END. Save the IXI and both companion files. Coordinates inside STRUCT use the process Units; dimensions outside STRUCT use metres.","Use Basic > Input files to inspect the actual process and circuit references. Inspect the geometry and port labels before choosing Check and run / Run full extraction.","Read the current Results/Raw output and actual artifacts. For the optional CLI route, run the command below from the folder containing all three files. Check exit status and errors before reading L1."]},{"code":"* Parameterised inline equivalent of the maintained microstrip geometry\n$COMMAND\n  MeshFile \"strip.msh\"\n  MeshType CUBE\n  Mode MQS\n  Netlist \"strip.cir\"\n  Process \"process.ldf\"\n$END\n$VARIABLE\n  Name strip_length\n  Value 100\n$END\n$VARIABLE\n  Name strip_width\n  Value 10\n$END\n$STRUCT\n  Name inline_strip\n  $POLY\n    Layer M1\n    XY\n    (0,0)\n    (0,%strip_width)\n    (%strip_length,%strip_width)\n    (%strip_length,0)\n    (0,0)\n  $END\n  $PATH\n    Layer TERM\n    Width 1\n    XY\n    (0,%strip_width)\n    (0,0)\n  $END\n  $PATH\n    Layer TERM\n    Width 1\n    XY\n    (%strip_length,%strip_width)\n    (%strip_length,0)\n  $END\n  $TEXT\n    Text \"P1 M1 M0\"\n    Layer TEXT\n    XY\n    (0,%strip_width/2)\n  $END\n  $TEXT\n    Text \"P2 M1 M0\"\n    Layer TEXT\n    XY\n    (%strip_length,%strip_width/2)\n  $END\n$END","heading":"Complete strip.ixi"},{"code":"* Public microstrip teaching stack; dimensions use Units below\n$Parameters\n  Units = 1e-6\n  SegmentSize = 2.0\n  AbsMin = 0.025\n  GPOverhang = 5.0\n  ProcessHasGroundPlane = TRUE\n  GPLayer = 17\n  TermLayer = 19\n  TextLayer = 18\n  HFilaments = 1\n  TerminalInRange = 1.0\n  UnitL = 1\n$End\n$Layer\n  Number = 17\n  Name = M0\n  Thickness = 0.2\n  Lambda = 0.09\n  Order = 0\n  Mask = -1\n  Filmtype = S\n  HFilaments = 2\n$End\n$Layer\n  Number = 2\n  Name = I0\n  Thickness = 0.15\n  Order = 1\n  Mask = -1\n  Filmtype = I\n$End\n$Layer\n  Number = 5\n  Name = M1\n  Thickness = 0.25\n  Lambda = 0.09\n  Order = 2\n  Mask = 1\n  Filmtype = S\n  HFilaments = 3\n$End","heading":"Complete process.ldf"},{"code":"* Extraction topology, design inductance in henries because UnitL=1\nL1 1 2 3.9e-12\nP1 1 0\nP2 2 0\n.end","heading":"Complete strip.cir"},{"code":"inductex strip.ixi","heading":"Optional CLI command"},{"heading":"Check the result","paragraphs":["The checked 100 × 10 µm example gives L1 = 3.896479063e-12 H (3.896479063 pH), approximately 0.09028% below its 3.9 pH design value. Its mesh bytes and extracted value match the maintained GDS microstrip. This comparison is specific to these exact inputs and runtime.","Changing strip_length to 120 moves the far edge, its terminal and label together; the checked result increases to 4.679059834 pH. Reconsider the design target after geometry changes rather than expecting the old 3.9 pH target to remain correct.","With the original geometry, changing SegmentSize from 2 to 1 µm gave 3.872526244 pH, a change of about 0.61473%. This is one refinement observation. Choose and justify convergence criteria for the actual problem; low fit or solver residuals and design agreement answer different questions.","The detailed current CLI output/elements.txt contains the value quoted above in the configured UnitL units. The human-readable summary rounds this example to 3.89648 pH. Match units and printed precision before treating different displays as a numerical change."]},{"heading":"If the problem remains","paragraphs":["A missing process reference, undefined material-layer name or unmatched P2 label was rejected in the checked CLI cases. Correct the specific reference, save and rerun; each corrected case recovered the baseline result.","Bare variable references can produce compatibility warning IXI009; the supplied files use explicit % references. An unfinished block can be implicitly closed at EOF with IXI002 rather than a hard editor error. Close it explicitly before running.","The current candidate can flag TERM/TEXT with IXI_CROSS_UNKNOWN_LAYER even though these annotation aliases are accepted by the checked Core run and resolved to TermLayer/TextLayer. This focused mismatch is tracked as KB-GUI-005. Check the actual alias and declared layer numbers; do not rename conductor layers or ignore unrelated warnings.","A sol.txt file can contain an error and Job finished can follow a failed attempt. Use current status, diagnostics and an actual extracted L1 row to establish success. Studio may keep its numerical summary in memory rather than writing a CLI sol.txt."]},{"figures":[{"asset_id":"studio-inline-current-inductance","caption":"The unchanged inline strip’s actual current GUI raw result, in henries. Complete L1 table and units are visible."},{"asset_id":"studio-inline-longer-inductance","caption":"Run again after saving length 120 gives a new L1. The old 3.9 pH design value is unchanged, so its displayed design deviation is not a solver-accuracy measure."}],"heading":"Actual Studio edit and rerun checks","paragraphs":["In the recorded native scenario, changing 100 to 120 through Raw IXI, using Undo and Redo, then saving changed the intended source. Basic changed the action label from Run extraction to Run again. That action produced 4.67906e-12 H; restoring the original inputs recovered 3.89648e-12 H.","Before Run again the previous Results frame still said Completed. Treat that as retained earlier output, not proof that the edited input has been calculated. Save, run again and inspect the new verdict and quantities. See the dedicated after-edit guide for this candidate’s provenance limitation."]}],"canonical_url":"https://www.sun-magnetics.com/knowledge-base/inductex-ixi-geometry","url":"/knowledge-base/inductex-ixi-geometry","known_issues":[{"disposition":"hold","id":"KB-GUI-004","title":"Inline geometry has inconsistent layout status","public_notice":"The inconsistent inline-layout readiness display is not accepted as a clean setup or successful calculation. The misleading illustration remains withheld.","claim_scope":"Only the affected claim and recorded build/input; not whole-guide or final-release acceptance"},{"disposition":"supported_path","id":"KB-GUI-005","title":"Review annotation-layer warnings in the supplied inline example","public_notice":"Retain the specific annotation-alias warnings and check the process and terminal declarations. Do not change physical inputs merely to clear a warning; this mismatch does not invalidate every extraction.","claim_scope":"Only the affected claim and recorded build/input; not whole-guide or final-release acceptance"},{"disposition":"verified_workaround","id":"KB-GUI-006","title":"Normal multi-tab exit saves the last tab as active","public_notice":"Save work and close other saved tabs before exit when the intended Studio project must return as active. The checked single-tab restart does not repair multi-tab selection.","claim_scope":"Only the affected claim and recorded build/input; not whole-guide or final-release acceptance"},{"disposition":"verified_workaround","id":"KB-GUI-008","title":"A saved source edit leaves the prior Completed result visible","public_notice":"After a source edit, save the intended inputs, choose Run again and verify the new result. An earlier Completed label may still refer to the previous generation.","claim_scope":"Only the affected claim and recorded build/input; not whole-guide or final-release acceptance"}],"search_record":{"execution":true,"relatedProducts":[],"version_tags":["InductEx 8 preview"],"text":"Create parameterised IXI geometry without a GDS file Build a complete three-file MQS strip using explicit IXI variables, a teaching process and matched circuit ports, then check the current extraction. InductEx 8 beta/preview How to parameterised parameterized inline geometry without GDS strip_length 120 STRUCT POLY %strip_length IXI009 IXI002 Before starting Download the complete example ZIP or save the three complete code blocks below under their exact filenames in the same writable folder. No GDS file is required. This public teaching stack is not a fabrication process or calibration for your device.  Steps Open strip.ixi in Studio and choose Raw IXI. Check Mode MQS, MeshType CUBE and the relative process/netlist filenames. Declare strip_length and strip_width before the STRUCT record. The supplied values are 100 and 10; explicit %variable references drive every affected polygon, terminal and label coordinate. Keep each XY pair on its own line and close every record with $END. Save the IXI and both companion files. Coordinates inside STRUCT use the process Units; dimensions outside STRUCT use metres. Use Basic > Input files to inspect the actual process and circuit references. Inspect the geometry and port labels before choosing Check and run / Run full extraction. Read the current Results/Raw output and actual artifacts. For the optional CLI route, run the command below from the folder containing all three files. Check exit status and errors before reading L1.  Raw IXI exposes the command references, explicit variables and M1 polygon. The visible TERM alias warning is explained under recovery. This image does not show a GUI extraction. Raw IXI shows the MQS project references, explicit strip_length and strip_width variables and the parameterised M1 polygon. Complete strip.ixi * Parameterised inline equivalent of the maintained microstrip geometry\n$COMMAND\n  MeshFile \"strip.msh\"\n  MeshType CUBE\n  Mode MQS\n  Netlist \"strip.cir\"\n  Process \"process.ldf\"\n$END\n$VARIABLE\n  Name strip_length\n  Value 100\n$END\n$VARIABLE\n  Name strip_width\n  Value 10\n$END\n$STRUCT\n  Name inline_strip\n  $POLY\n    Layer M1\n    XY\n    (0,0)\n    (0,%strip_width)\n    (%strip_length,%strip_width)\n    (%strip_length,0)\n    (0,0)\n  $END\n  $PATH\n    Layer TERM\n    Width 1\n    XY\n    (0,%strip_width)\n    (0,0)\n  $END\n  $PATH\n    Layer TERM\n    Width 1\n    XY\n    (%strip_length,%strip_width)\n    (%strip_length,0)\n  $END\n  $TEXT\n    Text \"P1 M1 M0\"\n    Layer TEXT\n    XY\n    (0,%strip_width/2)\n  $END\n  $TEXT\n    Text \"P2 M1 M0\"\n    Layer TEXT\n    XY\n    (%strip_length,%strip_width/2)\n  $END\n$END Complete process.ldf * Public microstrip teaching stack; dimensions use Units below\n$Parameters\n  Units = 1e-6\n  SegmentSize = 2.0\n  AbsMin = 0.025\n  GPOverhang = 5.0\n  ProcessHasGroundPlane = TRUE\n  GPLayer = 17\n  TermLayer = 19\n  TextLayer = 18\n  HFilaments = 1\n  TerminalInRange = 1.0\n  UnitL = 1\n$End\n$Layer\n  Number = 17\n  Name = M0\n  Thickness = 0.2\n  Lambda = 0.09\n  Order = 0\n  Mask = -1\n  Filmtype = S\n  HFilaments = 2\n$End\n$Layer\n  Number = 2\n  Name = I0\n  Thickness = 0.15\n  Order = 1\n  Mask = -1\n  Filmtype = I\n$End\n$Layer\n  Number = 5\n  Name = M1\n  Thickness = 0.25\n  Lambda = 0.09\n  Order = 2\n  Mask = 1\n  Filmtype = S\n  HFilaments = 3\n$End Complete strip.cir * Extraction topology, design inductance in henries because UnitL=1\nL1 1 2 3.9e-12\nP1 1 0\nP2 2 0\n.end Optional CLI command inductex strip.ixi Check the result The checked 100 × 10 µm example gives L1 = 3.896479063e-12 H (3.896479063 pH), approximately 0.09028% below its 3.9 pH design value. Its mesh bytes and extracted value match the maintained GDS microstrip. This comparison is specific to these exact inputs and runtime. Changing strip_length to 120 moves the far edge, its terminal and label together; the checked result increases to 4.679059834 pH. Reconsider the design target after geometry changes rather than expecting the old 3.9 pH target to remain correct. With the original geometry, changing SegmentSize from 2 to 1 µm gave 3.872526244 pH, a change of about 0.61473%. This is one refinement observation. Choose and justify convergence criteria for the actual problem; low fit or solver residuals and design agreement answer different questions. The detailed current CLI output/elements.txt contains the value quoted above in the configured UnitL units. The human-readable summary rounds this example to 3.89648 pH. Match units and printed precision before treating different displays as a numerical change.  If the problem remains A missing process reference, undefined material-layer name or unmatched P2 label was rejected in the checked CLI cases. Correct the specific reference, save and rerun; each corrected case recovered the baseline result. Bare variable references can produce compatibility warning IXI009; the supplied files use explicit % references. An unfinished block can be implicitly closed at EOF with IXI002 rather than a hard editor error. Close it explicitly before running. The current candidate can flag TERM/TEXT with IXI_CROSS_UNKNOWN_LAYER even though these annotation aliases are accepted by the checked Core run and resolved to TermLayer/TextLayer. This focused mismatch is tracked as KB-GUI-005. Check the actual alias and declared layer numbers; do not rename conductor layers or ignore unrelated warnings. A sol.txt file can contain an error and Job finished can follow a failed attempt. Use current status, diagnostics and an actual extracted L1 row to establish success. Studio may keep its numerical summary in memory rather than writing a CLI sol.txt.  Actual Studio edit and rerun checks In the recorded native scenario, changing 100 to 120 through Raw IXI, using Undo and Redo, then saving changed the intended source. Basic changed the action label from Run extraction to Run again. That action produced 4.67906e-12 H; restoring the original inputs recovered 3.89648e-12 H. Before Run again the previous Results frame still said Completed. Treat that as retained earlier output, not proof that the edited input has been calculated. Save, run again and inspect the new verdict and quantities. See the dedicated after-edit guide for this candidate’s provenance limitation.  The unchanged inline strip’s actual current GUI raw result, in henries. Complete L1 table and units are visible. Current native raw output gives the 100 micrometre strip L1 as 3.89648e-12 H against the 3.9e-12 H design value. Run again after saving length 120 gives a new L1. The old 3.9 pH design value is unchanged, so its displayed design deviation is not a solver-accuracy measure. After saving length 120 and using Run again, current native raw output gives L1 as 4.67906e-12 H. The unchanged design target is still 3.9e-12 H.","id":"inductex-ixi-geometry","keywords":"parameterised parameterized inline geometry without GDS strip_length 120 STRUCT POLY %strip_length IXI009 IXI002","kind":"How to","title":"Create parameterised IXI geometry without a GDS file","product":"InductEx"},"version":"8 beta/preview","id":"inductex-ixi-geometry","related":["/knowledge-base/inductex-process-build","/knowledge-base/inductex-netlist-build","/knowledge-base/inductex-port-design","/knowledge-base/inductex-first-microstrip","/knowledge-base/inductex-completed-after-edit"],"downloads":[{"url":"/_functions/kbExample?name=inductex-inline-microstrip.zip","scope":"Exact checked input files plus instructions; final-release/platform applicability remains pending.","files":["strip.ixi","process.ldf","strip.cir","README.txt"],"id":"inductex-inline-microstrip","requires":["Matching licensed InductEx 8/TTH runtime","New writable directory; keep strip.ixi, process.ldf and strip.cir together","Review the stated Windows 8.0.1 scope; complete GUI/final-package acceptance remains pending"],"title":"Complete inline MQS microstrip inputs"}],"publication_status":"published","numerical_output":null,"provenance":{"execution_checks":[{"routes":["cli"],"scope":"Complete inline MQS strip, byte-identical mesh and identical inductance versus the maintained GDS example, length/display-unit changes, one mesh refinement and missing-process/port/layer rejection and recovery","result":"passed","articles":["inductex-ixi-geometry","inductex-process-build","inductex-netlist-build","inductex-port-design"],"purpose":"inductex-complete-inline-inputs-and-dependency-recovery","version":"Windows catalog InductEx 8.0.1 (2 November 2026) and its bundled TTH 1.1.50; not final-package acceptance","id":"VAL-020","records":["input-review","retained private process diagnostics","original input hashes"],"limit":"Sixteen bounded CLI checks. One refinement observation is not a convergence threshold. Design agreement is not physical calibration or solver/fit residual acceptance. Native GUI authoring, cancellation/retry, restart and final distributed-package checks remain pending.","observed":{"single_refinement_relative_change":0.006147298269211898,"refined_L1_H":3.872526244e-12,"exit_codes":{"layer-name-restored":0,"process-restored":0,"port-name-mismatch":1,"port-name-restored":0,"baseline":0,"refined-mesh":0,"layer-name-mismatch":1,"longer-strip":0,"missing-process":1,"picohenry-display":0},"picohenry_display_L1_pH":3.896479063,"longer_strip_L1_H":4.679059834e-12,"design_deviation_percent":-0.0902804358974274,"reference_L1_H":3.896479063e-12,"L1_H":3.896479063e-12}},{"routes":["editor-input-analysis"],"scope":"Seventeen production-parser/analysis checks: exact input syntax, three-layer nominal stack/units, malformed input and restoration, plus focused reproduction of TERM/TEXT annotation alias warnings","result":"passed","articles":["inductex-ixi-geometry","inductex-process-build","inductex-netlist-build","inductex-port-design"],"purpose":"inductex-production-editor-input-analysis","version":"Frozen current Windows Studio editor/nominal-process analysis source, 3 November 2026","id":"VAL-021","records":["editor-review","input hashes","selected production source hashes"],"limit":"This route is editor analysis only. It does not construct the Core model, run an extraction, verify physical calibration or complete a native GUI walkthrough. The accepted .end directive still receives an editor warning (KB-EDITOR-001); annotation alias warnings remain KB-GUI-005."},{"routes":["gui-native-scenario"],"scope":"Normal production source edits/Undo/Redo/Save, licensed baseline/length/unit runs, port failure and correction, Stop/retry and a separate-process single-tab restart/rerun. File/directory selection used predetermined paths at the production dialog boundary","result":"passed","articles":["inductex-ixi-geometry","inductex-process-build","inductex-netlist-build","inductex-port-design","inductex-read-results","inductex-completed-after-edit"],"prior_result_after_edit":{"status_after_saved_length_edit":"Completed","stale_state_accepted":false,"issue":"KB-GUI-008","source_has_length_120":true,"source_is_saved":true},"purpose":"studio-input-edit-run-recovery-cancel-restart","version":"Frozen Windows Studio source candidate with normal Core 8.0.1 dispatch, 3 November 2026; not a final distributed package","id":"VAL-023","cancellation":{"accepted_as_numerical_success":false,"normal_retry_passed":true,"raw_output_contains_inductance_row":true,"verdict":"Cancelled"},"records":["native-inputs","native-inputs-restart","independent-input-review","exact restored input hashes"],"limit":"Eighteen independent checks cover these stated routes. The prior Completed label after a saved source edit remains KB-GUI-008; stale-state acceptance is not passed. A Cancelled receipt retained an L1 row and is not accepted as a completed solve. Physical pickers, complete GUI article, final distributed package, other platforms, physical accuracy and mesh convergence remain pending. KB-GUI-006 single-tab restart workaround remains separate.","observed":{"port-recovery":{"L1_H":3.89648e-12,"L1_display":3.89648e-12,"design_display":3.9e-12,"unit":"H"},"baseline":{"L1_H":3.89648e-12,"L1_display":3.89648e-12,"design_display":3.9e-12,"unit":"H"},"restarted":{"L1_H":3.89648e-12,"L1_display":3.89648e-12,"design_display":3.9e-12,"unit":"H"},"longer":{"L1_H":4.67906e-12,"L1_display":4.67906e-12,"design_display":3.9e-12,"unit":"H"},"after-cancel":{"L1_H":3.89648e-12,"L1_display":3.89648e-12,"design_display":3.9e-12,"unit":"H"},"picohenry":{"L1_H":3.8964799999999996e-12,"L1_display":3.89648,"design_display":3.9,"unit":"pH"}}}],"figure_evidence":[{"evidence_limit":"Authoring illustration only; no GUI extraction or complete walkthrough is shown. CLI/editor results are recorded separately. Annotation alias and .end warnings remain under review.","id":"studio-inline-parameters","reference_label":"Current Windows Studio source, native authoring illustration, 3 November 2026"},{"evidence_limit":"This image shows the stated recorded control/result only. The retained Completed-after-edit observation remains open; a Cancelled receipt is not accepted numerical success. Complete GUI article and final-package checks remain pending.","id":"studio-inline-current-inductance","reference_label":"Frozen Windows Studio source candidate, actual native workflow, 3 November 2026"},{"evidence_limit":"This image shows the stated recorded control/result only. The retained Completed-after-edit observation remains open; a Cancelled receipt is not accepted numerical success. Complete GUI article and final-package checks remain pending.","id":"studio-inline-longer-inductance","reference_label":"Frozen Windows Studio source candidate, actual native workflow, 3 November 2026"}],"review_notes":["The five cited maintained references still match their reviewed inventory hashes; existing source baselines were preserved.","VAL-023 adds eighteen independent native checks. The saved-source completion label is an open provenance observation (KB-GUI-008); the actual Cancelled verdict is kept distinct from retained numerical rows. Original input bytes were restored.","VAL-020 CLI and VAL-021 editor analysis remain separate from the later normal native workflow. Complete physical pickers, article/release acceptance and numerical qualification remain pending."],"scope":"Recorded inputs/builds only. Complete walkthrough and final-package acceptance remain separate.","verification_requirements":{"gui_method":"product-native scenario or recorded operator walkthrough; relevant screenshots required","status":"review-incomplete","illustrations":"required","required":["technical-review","release-applicability","execution","recovery","numerical-interpretation","gui-workflow","illustrations"],"legacy_walkthrough_field":"pending retained; not a complete GUI article"},"sources":[{"id":"inductex:docs/manual/ix_layoutinput.tex","section":"IXI units, records, variables, PATH/POLY/TEXT and expressions"},{"id":"inductex:docs/manual/ix_ldf.tex","section":"Units and the complete teaching process"},{"id":"inductex:docs/manual/ix_netlist.tex","section":"Elements and extraction ports"},{"id":"inductex:docs/manual/ix_ports.tex","section":"Terminal edges and labels"},{"id":"inductex:docs/manual/studio_projects.tex","section":"Raw IXI, Basic input references and running the project"},{"id":"validation:inductex-inputs-windows-20261103","section":"VAL-020 licensed CLI and VAL-021 separate editor-analysis checks; exact scope retained"},{"id":"capture:studio-inputs-20261103T163127","section":"Native authoring illustration only; exact reviewed input and image bytes"},{"id":"validation:studio-inputs-native-windows-20261103","section":"VAL-023; actual native edits, numerical runs, port recovery, Stop/retry and separate-process single-tab restart; provenance limitation retained"}]},"title":"Create parameterised IXI geometry without a GDS file","type":"How to","markdown_url":"/_functions/kbResource?path=markdown%2Finductex-ixi-geometry.md","summary":"Build a complete three-file MQS strip using explicit IXI variables, a teaching process and matched circuit ports, then check the current extraction.","product":"InductEx"}