.STEP/.F3D to .Файл SCAD?

Я работаю с Fusion360 для проектирования многих вещей. Недавно я научился работать с параметрами, которые я могу легко изменить все сразу, что позволяет в значительной степени сделать легко настраиваемые части.

Теперь Thingiverse хочет, чтобы части настройщика были в форме файлов .SCAD, а некоторые люди просто не могут работать с Fusion360 (.F3D) или правильными файлами .STEP, которые могут быть импортированы большинством CAD-программ.

У меня нет опыта работы с OpenSCAD. Могу ли я импортировать свой .STEP в OpenSCAD, сохранить свои параметры и экспортировать его как .SCAD, и если да, то как?

, 👍0


4 ответа


Лучший ответ:

3

Несмотря на то, что OpenSCAD может импортировать различные форматы, файловая структура не будет принята Thingiverse таким образом, как это представлено в OP.

OpenSCAD-это текстовый язык описания. Один создает параметры, назначенные конкретным аспектам модели, и реализует эти параметры для создания нужных фигур/компонентов путем ввода в текстовом редакторе. Собственный редактор для OpenSCAD обеспечивает некоторое управление, но блокнот или его эквивалент будет работать так же хорошо.

Формат файла OpenSCAD-текстовый. Ни одна из программ моделирования типа САПР не обеспечит эквивалентный текстовый вывод.

Для вашей цели вам нужно будет изучить основы OpenSCAD (не особенно сложно) и ссылаться на параметры в файлах STEP, а затем назначить их соответствующим меткам в OpenSCAD.

Если у вас особенно сложные конструкции, их может быть несколько. Это также может быть полезно, когда вы меняете параметр в качестве теста, и полная модель следует, как и ожидалось.


,

Я нахожу, что чистый ввод текста на основе ПИТЫ - и никогда не стоит усилий., @Trish

Я нахожу все, что я не могу отредактировать как чистый текст, ЛАВАШОМ и никогда не стоящим усилий - все усилия оказываются потраченными впустую, когда вы хотите что-то изменить и вам приходится начинать все сначала., @R.. GitHub STOP HELPING ICE

С учетом сказанного, однако, я думаю, что должен быть какой-то разумный способ автоматизировать преобразование этих форматов в чистый, редактируемый исходный код OpenSCAD. Для этого может потребоваться (или, скорее, почти наверняка потребуется) некоторое программирование (на любом языке, который вы предпочитаете)., @R.. GitHub STOP HELPING ICE


0

Нет, вы не можете импортировать файлы STEP или Fusion360 в OpenSCAD.

В настоящее время OpenSCAD поддерживает:

3D форматы

  • STL (как ASCII, так и двоичный)
  • ВЫКЛ
  • AMF [Примечание: Требуется версия 2019.05]
  • 3MF [Примечание: Требуется версия 2019.05]

2D форматы

  • DXF
  • SVG [Примечание: Требуется версия 2019.05]

Другое

  • CSG можно импортировать с помощью include<><> или загрузить как SCAD-файл, PNG можно импортировать с помощью surface()
,

3

На самом деле решение есть, хотя и не напрямую из openscad. Я только что нашел это:

https://github.com/agordon/openscad-step-reader/tree/master

Вам нужно будет установить или собрать opencascade самостоятельно, а затем нужно будет запустить инструмент командной строки для преобразования файла .step в файл .scad.

Я только что сделал это, чтобы иметь возможность импортировать оптико-механический элемент, разработанный Thorlabs, в Scad, и он отлично работает.

./openscad-step-reader --stl-scad RM1B-Step.step > RM1B-Step.scad

Затем откройте преобразованный файл .scad. Если вы хотите попробовать, этот элемент можно увидеть здесь, возьмите файл шага из списка документов. .

Результат в openscad:

,

2

Мне удалось скомпилировать openscad-step-reader, но мне пришлось преодолеть несколько препятствий:

  1. Запустите команду установки apt-get в начале Makefile:
    apt-get install libocct-data-exchange-dev libocct-draw-dev libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev libtbb- разработчик

  2. Игнорируйте все, что связано с cmake. Я могу заставить cmake работать, создав файл CMakeLists.txt, но мне не удалось заставить работать сгенерированный им Makefile.

  3. Отредактируйте triangle.h и замените

    • ostream с std::ostream [2 изменения]
    • endl с std::endl [3 изменения]
  4. Отредактируйте openscad-step-reader.cpp и замените

    • endl с std::endl [1 изменение]
  5. Отредактируйте explore-shape.cpp и добавьте

    • #include <GeomAbs_SurfaceType.hxx>
    • #include <BRepAdaptor_Surface.hxx>
  6. Отредактируйте Makefile и измените

      От
    • 7.3.0 до 7.5.2 [2 изменения] (Я понимаю, что для этого желательно найти лучшее решение!)
  7. Запустите make. Файлы .o должны быть созданы, но команда cc завершится неудачно (через долгое время), ссылаясь на «неопределенную ссылку» 783 раза

  8. Скопируйте команду cc, которая была напечатана во время работы make, и поместите все файлы .o перед всеми -l аргументы, например:

cc openscad-step-reader.o tessellation.o openscad-triangle-writer.o explore-shape.o -lTKSTL -lTKXDESTEP -lTKBinXCAF -lTKXmlXCAF -lTKXDEIGES -lTKXCAF -lTKIGES -lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKXSBase -lTKStd -lTKStdL -lTKXml -lTKBin -lTKXmlL -lTKBinL -lTKCAF -lTKXCAF -lTKLCAF -lTKCDF -lTKMeshVS -lTKOpenGl -lTKV3d -lTKService -lTKXMesh -lTKMesh -lTKOffset -lTKFeat -lTKFillet -lTKHLR -lTKBool -lTKBO -lTKShHealing -lTKPrim -lTKTopAlgo -lTKGeomAlgo -lTKBRep -lTKGeomBase -lTKG3d -lTKG2d -lTKIGES -lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKXSBase -lTKStd -lTKStdL -lTKXml -lTKBin -lTKXmlL -lTKBinL -lTKCAF -lTKLCAF -lTKCDF -lTKMeshVS -lTKOpenGl -lTKV3d -lTKService -lTKXMesh -lTKMesh -lTKOffset -lTKFeat -lTKFillet -lTKHLR -lTKBool -lTKBO -lTKShHealing -lTKPrim -lTKTopAlgo -lTKGeomAlgo -lTKBRep -lTKGeomBase -lTKG3d -lTKG2d /usr/lib/x86_64-linux-gnu/libTKMath.so.7.5.2 /usr/lib/x86_64-linux-gnu/libTKernel.so.7.5.2 -lfreetype -lpthread -lrt -lstdc++ -ldl -lm   -o openscad-step-reader

Теперь программа скомпилируется. Моя система работает под управлением Ubuntu Focal Fossa 20.04.6 LTS. Я связался с автором (Гордоном Ассафом), но он сказал, что больше не работает над этим проектом. Для меня это была находка, поскольку она позволяет мне импортировать файлы .step, загруженные с веб-сайта Swagelok, в мой проект OpenSCAD.

,