{"id":752,"date":"2025-07-23T21:39:42","date_gmt":"2025-07-24T03:39:42","guid":{"rendered":"https:\/\/liquidgravity.us\/store_test\/?p=752"},"modified":"2025-07-29T15:22:09","modified_gmt":"2025-07-29T21:22:09","slug":"752","status":"publish","type":"post","link":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/","title":{"rendered":"SelectionListBox Documentation"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">SelectionListBox Documentation<\/h2>\n\n\n\n<p>A custom IronPython control for selecting entities in Alibre Script using filtered ListBox UI.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"578\" height=\"216\" src=\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png\" alt=\"\" class=\"wp-image-759\" srcset=\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png 578w, https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525-300x112.png 300w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Overview<\/h3>\n\n\n\n<p><code>SelectionListBox<\/code> allows users to select entities (faces, edges, planes, etc.) from the Alibre 3D workspace. Each control is configured via a <code>Tag<\/code> to define the selection type. It supports single or multi-selection, filtering, and optional AutoNext navigation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">UI Features<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Clear Button<\/strong>: Removes all selections.<\/li>\n\n\n\n<li><strong>Context Menu<\/strong>: Right-click to clear or remove selected items.<\/li>\n\n\n\n<li><strong>Highlighting<\/strong>: Selected items are shown in the Alibre workspace.<\/li>\n\n\n\n<li><strong>Threading<\/strong>: Forms using this control should run in an STA thread.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Usage Example<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import clr\nimport os\nclr.AddReference('System.Windows.Forms')\nfrom System.Windows.Forms import Form, TableLayoutPanel, DockStyle, Label\nfrom System.Threading import Thread, ThreadStart\nsys.path.append(ScriptFolder)  # Ensure SelectionListBox is accessible\nfrom SelectionListBox import SelectionListBox\n\nclass MyThreadVarsClass():\n    started = 0\n    form1 = None\nMyThreadVars = MyThreadVarsClass()\n\nclass MySelectionForm(Form):\n    def __init__(self):\n        self.Text = \"Selection Example\"\n        self.Width = 400\n        self.Height = 200\n        self.TopMost = 1\n        self.FormClosed += self.onFormClosed\n\n        layout = TableLayoutPanel()\n        layout.Dock = DockStyle.Fill\n        layout.RowCount = 3\n        layout.ColumnCount = 2\n        layout.AutoSize = True\n        self.Controls.Add(layout)\n\n        # \u2014 Edges \u2014\n        self._lbl_edges = Label()\n        self._lbl_edges.Text = 'Edges'\n        layout.Controls.Add(self._lbl_edges, 0, 0)\n\n        self._SLB_edges = SelectionListBox()\n        self._SLB_edges.Dock = DockStyle.Fill\n        self._SLB_edges.Tag = 'Edges'\n        layout.Controls.Add(self._SLB_edges, 1, 0)\n\n        # \u2014 Face \u2014\n        self._lbl_face = Label()\n        self._lbl_face.Text = 'Face'\n        layout.Controls.Add(self._lbl_face, 0, 1)\n\n        self._SLB_face = SelectionListBox()\n        self._SLB_face.Dock = DockStyle.Fill\n        self._SLB_face.Tag = 'Face'\n        self._SLB_face.AutoNext = 1\n        layout.Controls.Add(self._SLB_face, 1, 1)\n\n        # \u2014 Planes \u2014\n        self._lbl_planes = Label()\n        self._lbl_planes.Text = 'Planes'\n        layout.Controls.Add(self._lbl_planes, 0, 2)\n\n        self._SLB_planes = SelectionListBox()\n        self._SLB_planes.Dock = DockStyle.Fill\n        self._SLB_planes.Tag = 'Planes'\n        layout.Controls.Add(self._SLB_planes, 1, 2)\n\n    def onFormClosed(self, sender, e):\n        if self._SLB_edges.PreviousSelection.Count &gt;= 1:\n            for i in range(0, self._SLB_edges.Items.Count):\n                selectionName = str(self._SLB_edges.Items.Item&#091;i])\n                selectionProxy = self._SLB_edges.PreviousSelection.Item(i)\n                print(selectionName, selectionProxy)\n        self.Close()\n\ndef thread_form():\n    global MyThreadVars\n    MyThreadVars.form1 = MySelectionForm()\n    MyThreadVars.started = 1\n    MyThreadVars.form1.ShowDialog()\n    MyThreadVars.started = 0\n\nt = Thread(ThreadStart(thread_form))\nt.ApartmentState = System.Threading.ApartmentState.STA\nt.Start()\n\nloop_count = 0\nwhile not MyThreadVars.started and loop_count &lt; 10:\n    Thread.CurrentThread.Join(100)\n    print('Waiting for form...')\n    loop_count += 1\nif MyThreadVars.started:\n    while MyThreadVars.started:\n        Thread.CurrentThread.Join(100)\nprint('closed')\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Tags &amp; Behavior<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Tag<\/th><th>Selection Type<\/th><th>AutoNext Support<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>&#8216;Face&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single face<\/td><\/tr><tr><td>&#8216;Faces&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple faces<\/td><\/tr><tr><td>&#8216;Edge&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single edge<\/td><\/tr><tr><td>&#8216;Edges&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple edges<\/td><\/tr><tr><td>&#8216;Vertex&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single vertex<\/td><\/tr><tr><td>&#8216;Vertices&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple vertices<\/td><\/tr><tr><td>&#8216;Plane&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single reference plane<\/td><\/tr><tr><td>&#8216;Planes&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple reference planes<\/td><\/tr><tr><td>&#8216;Axis&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single axis<\/td><\/tr><tr><td>&#8216;Axes&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple axes<\/td><\/tr><tr><td>&#8216;Point&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single reference point<\/td><\/tr><tr><td>&#8216;Points&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple reference points<\/td><\/tr><tr><td>&#8216;Sketch2D&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single 2D sketch<\/td><\/tr><tr><td>&#8216;Sketches2D&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple 2D sketches<\/td><\/tr><tr><td>&#8216;Sketch3D&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single 3D sketch<\/td><\/tr><tr><td>&#8216;Sketches3D&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple 3D sketches<\/td><\/tr><tr><td>&#8216;Part&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single part<\/td><\/tr><tr><td>&#8216;Parts&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple parts<\/td><\/tr><tr><td>&#8216;Assembly&#8217;<\/td><td>Single<\/td><td>\u2705 Yes<\/td><td>Select a single assembly\/component<\/td><\/tr><tr><td>&#8216;Assemblies&#8217;<\/td><td>Multiple<\/td><td>\u274c No<\/td><td>Select multiple assemblies\/components<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Developer Notes<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Constructor<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>SelectionListBox()<\/code><\/pre>\n\n\n\n<p>Initializes layout, timer, clear button, context menu, and filtering logic.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Key Properties &amp; Methods<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>Tag<\/code><\/td><td>Defines selection filter<\/td><\/tr><tr><td><code>AutoNext<\/code><\/td><td>Moves focus to next control (if singular)<\/td><\/tr><tr><td><code>PreviousSelection<\/code><\/td><td>Stores last valid selection set<\/td><\/tr><tr><td><code>ClearAll()<\/code><\/td><td>Clears all items<\/td><\/tr><tr><td><code>RemoveSelected()<\/code><\/td><td>Removes selected items<\/td><\/tr><tr><td><code>add_selection_item()<\/code><\/td><td>(Internal) Adds item to list<\/td><\/tr><tr><td><code>apply_filter_by_tag()<\/code><\/td><td>(Internal) Applies filter using <code>Filters<\/code> class<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Filtering<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Uses <code>Filters<\/code> class to apply Alibre selection filters.<\/li>\n\n\n\n<li>Limited to types supported by Alibre API.<\/li>\n\n\n\n<li>Tag values map to methods like <code>FacesOnly()<\/code>, <code>EdgesOnly()<\/code>, etc.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Integration<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <code>sys.path.append()<\/code> to access the class.<\/li>\n\n\n\n<li>Run forms in STA threads for stability.<\/li>\n\n\n\n<li>AutoNext uses <code>Parent.SelectNextControl()<\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Style<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Avoids <code>str.format()<\/code><\/li>\n\n\n\n<li>Uses single quotes<\/li>\n\n\n\n<li>Clear naming and layout anchoring<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Downloads<\/h4>\n\n\n<div class='w3eden'><!-- WPDM Link Template: Default Template with Download Count -->\n\n\n<div class=\"wpdm-link-tpl link-btn [color]\" data-durl=\"https:\/\/liquidgravity.us\/store_test\/index.php\/download\/selectionlistbox-class\/?wpdmdl=753&refresh=6a0f38ee1f3571779382510\" >\n    <div class=\"media\">\n        <div class=\"pull-left\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icon\"   src=\"https:\/\/liquidgravity.us\/store_test\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/zip.svg\" \/><\/div>\n        <div class=\"media-body\"><strong class=\"ptitle\">SelectionListBox Class <span class=\"label label-default\" style=\"font-weight: 400;\">8 downloads<\/span>&nbsp;<span class=\"label label-default\" style=\"font-weight: 400;\">4.08 KB<\/span><\/strong>\n            <div><strong><a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/liquidgravity.us\/store_test\/index.php\/download\/selectionlistbox-class\/?wpdmdl=753&refresh=6a0f38ee1f3571779382510\">Download<\/a><\/strong><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<div style=\"clear: both\"><\/div>\n<\/div>\n\n\n<div class='w3eden'><!-- WPDM Link Template: Default Template with Download Count -->\n\n\n<div class=\"wpdm-link-tpl link-btn [color]\" data-durl=\"https:\/\/liquidgravity.us\/store_test\/index.php\/download\/filters_class\/?wpdmdl=754&refresh=6a0f38ee360061779382510\" >\n    <div class=\"media\">\n        <div class=\"pull-left\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icon\"   src=\"https:\/\/liquidgravity.us\/store_test\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/zip.svg\" \/><\/div>\n        <div class=\"media-body\"><strong class=\"ptitle\">Filters_Class <span class=\"label label-default\" style=\"font-weight: 400;\">8 downloads<\/span>&nbsp;<span class=\"label label-default\" style=\"font-weight: 400;\">1.35 KB<\/span><\/strong>\n            <div><strong><a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/liquidgravity.us\/store_test\/index.php\/download\/filters_class\/?wpdmdl=754&refresh=6a0f38ee360061779382510\">Download<\/a><\/strong><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<div style=\"clear: both\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SelectionListBox Documentation A custom IronPython control for selecting entities in Alibre Script using filtered ListBox UI. Overview SelectionListBox allows users to select entities (faces, edges, planes, etc.) from the Alibre 3D workspace. Each control is configured via a Tag to define the selection type. It supports single or multi-selection, filtering, and optional AutoNext navigation. UI [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-752","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SelectionListBox Documentation - Liquid Gravity Productions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SelectionListBox Documentation - Liquid Gravity Productions\" \/>\n<meta property=\"og:description\" content=\"SelectionListBox Documentation A custom IronPython control for selecting entities in Alibre Script using filtered ListBox UI. Overview SelectionListBox allows users to select entities (faces, edges, planes, etc.) from the Alibre 3D workspace. Each control is configured via a Tag to define the selection type. It supports single or multi-selection, filtering, and optional AutoNext navigation. UI [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/\" \/>\n<meta property=\"og:site_name\" content=\"Liquid Gravity Productions\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-24T03:39:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-29T21:22:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png\" \/>\n\t<meta property=\"og:image:width\" content=\"578\" \/>\n\t<meta property=\"og:image:height\" content=\"216\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#\/schema\/person\/134773981e2f9a7de6ea11653d539d85\"},\"headline\":\"SelectionListBox Documentation\",\"datePublished\":\"2025-07-24T03:39:42+00:00\",\"dateModified\":\"2025-07-29T21:22:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/\"},\"wordCount\":353,\"publisher\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#organization\"},\"image\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/\",\"url\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/\",\"name\":\"SelectionListBox Documentation - Liquid Gravity Productions\",\"isPartOf\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png\",\"datePublished\":\"2025-07-24T03:39:42+00:00\",\"dateModified\":\"2025-07-29T21:22:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage\",\"url\":\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png\",\"contentUrl\":\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png\",\"width\":578,\"height\":216},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/liquidgravity.us\/store_test\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SelectionListBox Documentation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#website\",\"url\":\"https:\/\/liquidgravity.us\/store_test\/\",\"name\":\"Liquid Gravity Productions\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/liquidgravity.us\/store_test\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#organization\",\"name\":\"Liquid Gravity Productions\",\"url\":\"https:\/\/liquidgravity.us\/store_test\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2023\/01\/lgp_180x60.png\",\"contentUrl\":\"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2023\/01\/lgp_180x60.png\",\"width\":180,\"height\":60,\"caption\":\"Liquid Gravity Productions\"},\"image\":{\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.youtube.com\/@NathanVoge\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#\/schema\/person\/134773981e2f9a7de6ea11653d539d85\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/liquidgravity.us\/store_test\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6ff0b21b738d68bd279daffe3702fcdd1fd21fe75a24cd3ef614ff8f3f729f91?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6ff0b21b738d68bd279daffe3702fcdd1fd21fe75a24cd3ef614ff8f3f729f91?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/liquidgravity.us\/store_test\"],\"url\":\"https:\/\/liquidgravity.us\/store_test\/index.php\/author\/admin_bq8jizk2gg2\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SelectionListBox Documentation - Liquid Gravity Productions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/","og_locale":"en_US","og_type":"article","og_title":"SelectionListBox Documentation - Liquid Gravity Productions","og_description":"SelectionListBox Documentation A custom IronPython control for selecting entities in Alibre Script using filtered ListBox UI. Overview SelectionListBox allows users to select entities (faces, edges, planes, etc.) from the Alibre 3D workspace. Each control is configured via a Tag to define the selection type. It supports single or multi-selection, filtering, and optional AutoNext navigation. UI [&hellip;]","og_url":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/","og_site_name":"Liquid Gravity Productions","article_published_time":"2025-07-24T03:39:42+00:00","article_modified_time":"2025-07-29T21:22:09+00:00","og_image":[{"width":578,"height":216,"url":"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#article","isPartOf":{"@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/"},"author":{"name":"admin","@id":"https:\/\/liquidgravity.us\/store_test\/#\/schema\/person\/134773981e2f9a7de6ea11653d539d85"},"headline":"SelectionListBox Documentation","datePublished":"2025-07-24T03:39:42+00:00","dateModified":"2025-07-29T21:22:09+00:00","mainEntityOfPage":{"@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/"},"wordCount":353,"publisher":{"@id":"https:\/\/liquidgravity.us\/store_test\/#organization"},"image":{"@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage"},"thumbnailUrl":"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/","url":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/","name":"SelectionListBox Documentation - Liquid Gravity Productions","isPartOf":{"@id":"https:\/\/liquidgravity.us\/store_test\/#website"},"primaryImageOfPage":{"@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage"},"image":{"@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage"},"thumbnailUrl":"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png","datePublished":"2025-07-24T03:39:42+00:00","dateModified":"2025-07-29T21:22:09+00:00","breadcrumb":{"@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#primaryimage","url":"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png","contentUrl":"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-23-230525.png","width":578,"height":216},{"@type":"BreadcrumbList","@id":"https:\/\/liquidgravity.us\/store_test\/index.php\/2025\/07\/23\/752\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/liquidgravity.us\/store_test\/"},{"@type":"ListItem","position":2,"name":"SelectionListBox Documentation"}]},{"@type":"WebSite","@id":"https:\/\/liquidgravity.us\/store_test\/#website","url":"https:\/\/liquidgravity.us\/store_test\/","name":"Liquid Gravity Productions","description":"","publisher":{"@id":"https:\/\/liquidgravity.us\/store_test\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/liquidgravity.us\/store_test\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/liquidgravity.us\/store_test\/#organization","name":"Liquid Gravity Productions","url":"https:\/\/liquidgravity.us\/store_test\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/liquidgravity.us\/store_test\/#\/schema\/logo\/image\/","url":"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2023\/01\/lgp_180x60.png","contentUrl":"https:\/\/liquidgravity.us\/store_test\/wp-content\/uploads\/2023\/01\/lgp_180x60.png","width":180,"height":60,"caption":"Liquid Gravity Productions"},"image":{"@id":"https:\/\/liquidgravity.us\/store_test\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.youtube.com\/@NathanVoge"]},{"@type":"Person","@id":"https:\/\/liquidgravity.us\/store_test\/#\/schema\/person\/134773981e2f9a7de6ea11653d539d85","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/liquidgravity.us\/store_test\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6ff0b21b738d68bd279daffe3702fcdd1fd21fe75a24cd3ef614ff8f3f729f91?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6ff0b21b738d68bd279daffe3702fcdd1fd21fe75a24cd3ef614ff8f3f729f91?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/liquidgravity.us\/store_test"],"url":"https:\/\/liquidgravity.us\/store_test\/index.php\/author\/admin_bq8jizk2gg2\/"}]}},"_links":{"self":[{"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/posts\/752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/comments?post=752"}],"version-history":[{"count":7,"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/posts\/752\/revisions"}],"predecessor-version":[{"id":773,"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/posts\/752\/revisions\/773"}],"wp:attachment":[{"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/media?parent=752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/categories?post=752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liquidgravity.us\/store_test\/index.php\/wp-json\/wp\/v2\/tags?post=752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}