| .. | ||
| .vscode | ||
| docs | ||
| scripts | ||
| src | ||
| sw | ||
| config.json | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tslint.json | ||
| tsup.config.ts | ||
OSR CAD Tools
This is a CLI(CommandLineInterface) toolset to convert 3D files, using Solidworks and other software.
Requirements
- Node-JS
- Optional: install Git (Make sure you enable Linux tools on Windows console)
- Solidworks 2020. In case you are using another version, please find on your disc 'SolidWorks.Interop.sldworks.dll' and replace the one in ./sw/2022
Installation
git clone https://git.osr-plastic.org/osr-plastic/osr-cad.git
cd osr-convert-cad
npm i
# or globally (recommended)
npm i @plastichub/osr-cad -g
Usage
Open a terminal and run this:
osr-cad --help
See more in ./docs/Examples.md and ./docs/Integration.md
References - Development
- site:Solidworks API basics - examples
- site:Rhino-API
- site:Solidworks Reverse Decoder
- sw interop - component - API
Todos
- Select default views via CLI Argument
- Arg: Skip suppressed | hidden (difficult since it's out of part file scope, check explorer api ) | dry mode
- Arg: Overwrite files
- [-] Arg: skip non OSR parts
- [-] Arg: displaymode : wireframe, shaded, ... (see SW Docs)
- [-] report
- export as lib
- [-] Multi view (trainings data for @plastichub/part-detector)
- [-] Speed: use same instance for multiple exports
- [-] Context Menu Shell Extension (@osr-tools)
- [-] Local/Global config (=>osrl)
- emit/merge authors from components in target artefact
- [-] Add CLI Arg Path variables
- [-] json-path for glob patterns
- [-] bracket expansion
- [-] Report templates (=> @osrl | osr-reports)
- xls
- md
- txt
- json
- meta | ts | tree
- [-] Plugin interface for custom format (chained) => osrl
- Conversions
- STEP -> SLDPRT (via xcad->fc->fw)
- any -> 3dxml (osrl!)
- any -> html (via edrawings)
- Structural
- support pipes, eg: intermediate formats
- [-] add pre, post and content filters, as pipes
- [-] plugins
- [-] integrate osrl
- [-] omit format options in --help
- omit possible conversions in ```info``
- per in and out args
- global
- [-] Cache hash fuckery : integrate options in integrity
- external cache directory
- bom|html|props : configurations
- explicit cache directory
Commands - Todos - Solidworks
- Solidworks
- [-] Set system wide options for JPG output
- [-] Set system wide options for PDF output
- [-] Directory index (=>osrl)
- arg: local HTML path/dir offset
- arg: generate UNC paths
- format: PDF
- [-] arg: sw drawing/BOMs to CSV/xls
- [-] Part/Sub-Assembly web(&local) compilation/index (=>osrl)
- [-] Web directory (xeokit)
- [-] Git hook, check components & references
- move 2D formats to osr-media
- [-] implement osr-cli-common specs: info/introspect|supported
- root offset
- sw:info|bom -> i18n
- remove toolbox write protection (sldsetdocprop.exe | https://www.youtube.com/watch?v=N7_HSvWPAXw | https://help.solidworks.com/2022/english/api/swdocmgrapi/SolidWorks.Interop.swdocumentmgr~SolidWorks.Interop.swdocumentmgr.ISwDMDocument~ToolboxPart.html)
- [-] sw: catch read errors
- sw: migrate xcad latest
- sw: addons - API (disable, ..)
- [-] sw: model-reader : iterator | filter | findup-references
- [-] sw: bom : filter & map
- [-] sw: set properties | save-as, ...
- sw: osr-log
- sw: sub commands: convert | validate | pack | set | get | clean | render | tree (cp/mv/rm) | unlink
- get: configurations -> json
- convert(conf) -> model
- render(conf) -> image
- validate
- [-] internal files
- outside root / component
- naming conventions
- [-] default configurations
- sw errors
- library compat
- [-] orphan files
- [-] equations
- tree
- md
- json
- fs
- [-] xls
- osr-i8n
- walker -> piped
- orphans (incl. assets / maps)
- sw: render : renderers (+options)
- sw: render
- [-] scene defaults
- motion analysis
- query(tree)
- sw: explode
- sw: timeouts
- sw: osr-default props
- [-] sw: cache instance (node IPC | csharp JIT?)
- sw: cache
- meta: diff
- invalidate
- [-] mv
- pack / unpack
- versioning
- packages
- registry
- shared equations (design table alternative) -> osrl | equation templates
- sketch / block templates
Commands - Todos - SCad
- impl. basic verbs: convert (see https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_OpenSCAD_in_a_command_line_environment)
Lib - Todos
- [-] SW: 4 view single image
- [-] Incorrect JPG output with sw2020
Utils
-
For SOLIDWORKS Document Manager API, please check the intro here which leads to [https://xcad.xarial.com/]. Their actual API code is now at ./ref/xcad. Please check also xcad basics on YouTube
Resources - Solidworks
- Custom Properties Write API
- XCad Github
- SOLIDWORKS
- SW Model Error Ref
- API Help Files https://lnkd.in/d9QX6wvS
- Free API Books, Macros and Utilities by Luke Malpass - https://lnkd.in/d8EbSDiB
- Video Tutorials (first few lessons are free and rest are paid) by SolidProfessor
- https://lnkd.in/d6bJew-z
- https://lnkd.in/dAv2366P
- Artem Taturevych’s free SOLIDWORKS Goodies
- http://www.codestack.net/
- Lenny Kikstra
- free SOLIDWORKS Goodies https://lnkd.in/d6RJfCuZ
- Roland Schwarz
- free SOLIDWORKS Goodies https://lnkd.in/dSiq6r6h
- Video Tutorials (free and paid with macros library) by Keith Rice
- https://www.cadsharp.com
- MySolidWorks Video Training (paid) https://lnkd.in/dpXnNBsy
- SOLIDWORKS Free Macros at Cadforum: https://lnkd.in/d4W63jBX
- SOLIDWORKS Free Macros at 3D Content Central: https://lnkd.in/d4zVEfhh • SOLIDWORKS Customization eBook using VB.Net (paid) by Tushar Suradkar
- https://lnkd.in/dD_sn3ai
- Mike Spens
- API resources http://www.solidapi.com/ and book (paid) by him "Automating SOLIDWORKS Using Macros" (https://amzn.to/3nWOmYn)
- Stefan Berlitz's free SOLIDWORKS Goodies https://lnkd.in/dMCmnX6h
- SOLIDWORKS users on active subscription also have access to two API SolidPractices available from https://lnkd.in/d9VD3f5A
- Free SOLIDWORKS API [VBA + C#] Tutorials from Prashant Baher https://thecadcoder.com/
- Video Tutorials by GoEngineer https://lnkd.in/gfBKmeU4
- SOLIDWORKS forums to ask/find great solutions/macros 3DSwym SOLIDWORKS User Forum: https://lnkd.in/dFG_isCJ
- Eng-Tips: https://lnkd.in/dgspDQ-H
- CadOverFlow: https://lnkd.in/d3bFWXUb
XEO
Free - CAD
- https://forum.freecadweb.org/viewtopic.php?p=556013#p556013
- https://hub.docker.com/r/amrit3701/freecad-cli
- https://wiki.opensourceecology.org/wiki/FreeCAD_BOM_Generator