Экспортировать Stl Из Командной Строки Openscad, Вызывая Модуль Внутри Скрипта?

  • Автор темы Ольга Дроздецкая
  • Обновлено
  • 22, Oct 2024
  • #1

Учитывая файл .SCAD, который содержит несколько модулей, как я могу запустить один из этих модулей из командной строки?

пример.scad

 
 One(); 

рендер.sh

example.scad

Обратите внимание, что нет one.scad option, but that is what I'm attempting to do. The workaround would be to make another .SCAD file e.g. --module который включает в себя openscad -q -o one.stl --module One example.scad , and simply calls module One() { ... } module Two() { ... } внутри и визуализировать этот файл из файла оболочки. Но это не идеально.

#openscad

Ольга Дроздецкая


Рег
23 Oct, 2020

Тем
81

Постов
191

Баллов
606
  • 26, Oct 2024
  • #2

 true 
option can actually include arbitrary code, not just variable definitions, so you can include a call to the module. You can even use wantOne в Linux или NUL в Windows в качестве входного файла и хранить 100 % вашего кода в wantOne = false; if (wantOne) One(); statements.

 

Fanzuga


Рег
01 Sep, 2006

Тем
71

Постов
191

Баллов
546
  • 26, Oct 2024
  • #3

OpenSCAD не имеет такой опции в командной строке, но я полагаю, что общая идиома, которую вы хотите использовать, — это use source files which are modules include invocations of the module(s) at the top-level controllable by variables you can set on the command line or GUI customizer interface. Any such invocations will be ignored if the file is used (via .scad директиву) в другой файл, чтобы не повредить его статусу библиотеки и упростить предварительный просмотр/тестирование. Например, вы могли бы иметь:

-D

а затем установить /dev/null to openscad -D из командной строки.

 

Maxpw


Рег
12 May, 2014

Тем
68

Постов
202

Баллов
562
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно