Software: Difference between revisions

From
No edit summary
Line 78: Line 78:
** git clone https://github.com/timschmidt/replimat.git
** git clone https://github.com/timschmidt/replimat.git
* Using the Github Desktop:
* Using the Github Desktop:
==play.replimat.org==
* [https://play.gridbeam.xyz play.gridbeam.xyz CAD]
* [https://github.com/timschmidt/play.gridbeam.xyz play.gridbeam.com github]
** apt install npm
** npm install gatsby-cli
** git clone https://github.com/timschmidt/play.gridbeam.xyz
** npm install --force
** gatsby build
* To do
** bind delete key to delete action
** correct initial frame lengths
** address loss-of-focus on menu close
** correct axes
** begin populating part catalog
** toggle for less reusable larger set
==LeoCAD / LDraw==
The term "LDraw" can be used to refer to the original DOS based LDraw program, the LDraw parts library, the LDraw file format or the LDraw System Of Tools.
* [https://github.com/e-Mole/m-Bitbeam_Parts_for_LDraw Bitbeam parts for LDraw]
* LDraw Parts Library: Parts library
* LDview: Viewer
* MLCad: Editor
* [https://www.leocad.org/ LeoCAD]: Editor
* LDCad: Editor
* LPub3D: Publishing tool
* LICreator: Publishing tool
* LSynth: Add-On
* LDGlite: Viewer
* POV-Ray: Renderer
* LGEO Parts Library: POV-Ray parts library
* MPDCenter: Utility
* LDFind: Utility
* LSulpt: Converter
* Offline Parts Catalog: Catalog


==OpenSCAD==
==OpenSCAD==
Line 161: Line 125:
==DXF2Papercraft==
==DXF2Papercraft==
* [http://dxf2papercraft.sourceforge.net/ DXF2Papercraft]
* [http://dxf2papercraft.sourceforge.net/ DXF2Papercraft]
==Rust==
* https://arewegameyet.rs/
* https://crates.io/crates/scad
* https://github.com/I3ck/rust-3d
* https://docs.rs/rust-3d/0.27.0/rust_3d/
* https://github.com/carlmartus/rscsg
* https://docs.rs/implicit3d/0.13.1/implicit3d/
* https://crates.io/crates/implicit3d
* http://implicitcad.org/editor
* [https://github.com/three-rs/three Github: Three-rs]
* [https://github.com/ricosjp/truck Github: Truck - Truck is a rust CAD kernel]
* [https://github.com/cbiffle/catibo Github: Catibo crate for working with the file formats used by low-end resin 3D printers]
* [https://github.com/KeKsBoTer/disco Github: Disco Rust 3D printer slicer]
* [https://github.com/etrombly/printer_geo Github: Printer_geo printer slicer prototype]
===[https://github.com/hmeyer/truescad truescad]===
Clone git repository:
mkdir ~/Documents/GitHub/truescad
cd ~/Documents/GitHub/truescad/
git clone https://github.com/hmeyer/truescad
Install some dependencies (Ubuntu):
sudo apt install librust-glib-sys-dev librust-cairo-rs+gobject-sys-dev librust-pango-dev librust-atk-sys-dev librust-gdk-pixbuf-dev librust-gdk-dev
Build truescad:
cargo build
==Solvespace==
* [https://solvespace.com/index.pl Solvespace parametric 2D/3D CAD]
==Finite element analysis==
* [http://www.warp3d.net/ Warp3D]
==Voxel==
* [https://ephtracy.github.io/ MagicaVoxel]


==CADQuery==
==CADQuery==
Line 212: Line 140:


==VR==
==VR==
[https://assetforge.io/ AssetForge] is amazing.
* [https://assetforge.io/ AssetForge] is amazing.
* [https://rednuht.org/genetic_cars_2/ HTML5 Genetic Algorithm 2D Car Thingy]
===[https://lovr.org/ LOVR]===
===[https://lovr.org/ LOVR]===
"LÖVR uses a 3D coordinate system with values specified in meters. Negative z values are in front of the camera, positive y values are above the ground, and negative x values are to the left. By default, the coordinate system maps to the VR play area, so the origin is on the ground in the middle of the play space." [https://lovr.org/docs/Callbacks_and_Modules LOVR docs]
"LÖVR uses a 3D coordinate system with values specified in meters. Negative z values are in front of the camera, positive y values are above the ground, and negative x values are to the left. By default, the coordinate system maps to the VR play area, so the origin is on the ground in the middle of the play space." [https://lovr.org/docs/Callbacks_and_Modules LOVR docs]
===[https://www.openspace3d.com/ OpenSpace3D]===
<gallery>
OpenSpaces VR PlugIT assessment.png|OpenSpaces VR PlugIT assessment
</gallery>
* [https://immersiveweb.dev WebGL XR]
* [https://modelviewer.dev/ model-viewer]
* [https://rednuht.org/genetic_cars_2/ HTML5 Genetic Algorithm 2D Car Thingy]
===Unity===
* [https://github.com/ExtendRealityLtd/VRTK VRTK]
===Garry's mod===
* [https://www.reddit.com/r/gmod/comments/8i4044/getting_started_with_content_creation/ Getting started with content creation]
==Bills of material==
* [https://gitbuilding.io/ gitbuilding]


=3D Scanning=
=3D Scanning=
Line 246: Line 160:
==Images==
==Images==
* [http://jasondorie.com/page_cnc.html reactor]
* [http://jasondorie.com/page_cnc.html reactor]
==Nesting==
==Nesting==
* https://svgnest.com/
* https://svgnest.com/
Line 264: Line 177:
* [https://nsis.sourceforge.io/Main_Page nullsoft scriptable install system]
* [https://nsis.sourceforge.io/Main_Page nullsoft scriptable install system]


=Tools of interest=
==Bills of material==
* [https://gitbuilding.io/ gitbuilding]
==Computer vision==
* [https://healeycodes.com/computer-vision-and-embroidery/ Computer vision and embroidery - python, scipy, opencv]
==Rust==
* https://arewegameyet.rs/
* https://crates.io/crates/scad
* https://github.com/I3ck/rust-3d
* https://docs.rs/rust-3d/0.27.0/rust_3d/
* https://github.com/carlmartus/rscsg
* https://docs.rs/implicit3d/0.13.1/implicit3d/
* https://crates.io/crates/implicit3d
* http://implicitcad.org/editor
* [https://github.com/three-rs/three Github: Three-rs]
* [https://github.com/ricosjp/truck Github: Truck - Truck is a rust CAD kernel]
* [https://github.com/cbiffle/catibo Github: Catibo crate for working with the file formats used by low-end resin 3D printers]
* [https://github.com/KeKsBoTer/disco Github: Disco Rust 3D printer slicer]
* [https://github.com/etrombly/printer_geo Github: Printer_geo printer slicer prototype]
==[https://www.openspace3d.com/ OpenSpace3D]==
<gallery>
OpenSpaces VR PlugIT assessment.png|OpenSpaces VR PlugIT assessment
</gallery>
* [https://immersiveweb.dev WebGL XR]
* [https://modelviewer.dev/ model-viewer]
==Unity==
* [https://github.com/ExtendRealityLtd/VRTK VRTK]
==Garry's mod==
* [https://www.reddit.com/r/gmod/comments/8i4044/getting_started_with_content_creation/ Getting started with content creation]
==Voxel==
* [https://ephtracy.github.io/ MagicaVoxel]
==[https://github.com/hmeyer/truescad truescad]==
Clone git repository:
mkdir ~/Documents/GitHub/truescad
cd ~/Documents/GitHub/truescad/
git clone https://github.com/hmeyer/truescad
Install some dependencies (Ubuntu):
sudo apt install librust-glib-sys-dev librust-cairo-rs+gobject-sys-dev librust-pango-dev librust-atk-sys-dev librust-gdk-pixbuf-dev librust-gdk-dev
Build truescad:
cargo build
==Solvespace==
* [https://solvespace.com/index.pl Solvespace parametric 2D/3D CAD]
==Finite element analysis==
* [http://www.warp3d.net/ Warp3D]
==play.replimat.org==
* [https://play.gridbeam.xyz play.gridbeam.xyz CAD]
* [https://github.com/timschmidt/play.gridbeam.xyz play.gridbeam.com github]
** apt install npm
** npm install gatsby-cli
** git clone https://github.com/timschmidt/play.gridbeam.xyz
** npm install --force
** gatsby build
* To do
** bind delete key to delete action
** correct initial frame lengths
** address loss-of-focus on menu close
** correct axes
** begin populating part catalog
** toggle for less reusable larger set
==LeoCAD / LDraw==
The term "LDraw" can be used to refer to the original DOS based LDraw program, the LDraw parts library, the LDraw file format or the LDraw System Of Tools.
* [https://github.com/e-Mole/m-Bitbeam_Parts_for_LDraw Bitbeam parts for LDraw]
* LDraw Parts Library: Parts library
* LDview: Viewer
* MLCad: Editor
* [https://www.leocad.org/ LeoCAD]: Editor
* LDCad: Editor
* LPub3D: Publishing tool
* LICreator: Publishing tool
* LSynth: Add-On
* LDGlite: Viewer
* POV-Ray: Renderer
* LGEO Parts Library: POV-Ray parts library
* MPDCenter: Utility
* LDFind: Utility
* LSulpt: Converter
* Offline Parts Catalog: Catalog


=References=
=References=
Line 281: Line 274:
* [https://brickit.app/ Brickit App]
* [https://brickit.app/ Brickit App]
* [https://en.wikipedia.org/wiki/CORDIC Wikipedia: CORDIC]
* [https://en.wikipedia.org/wiki/CORDIC Wikipedia: CORDIC]
<youtube>684KSAvYbw4</youtube>
<youtube>684KSAvYbw4</youtube>


==Computer vision==
* [https://healeycodes.com/computer-vision-and-embroidery/ Computer vision and embroidery - python, scipy, opencv]


== To Be Sorted ==
== To Be Sorted ==

Revision as of 03:42, 8 August 2021

Replimat is developed using the git version control system, on the github hosting service, in the replimat git repository as well as in the repositories of the upstream software projects themselves.

Follow these instructions to install and use the software portions of the Replimat project and the tools to modify them. Much of this software is intended to work with the replimat controller.

Setting up prerequisites

Linux

Fedora

Open a terminal and type the following:

sudo dnf install git openscad rust cargo rabbitvcs-nautilus rabbitvcs-gedit rabbitvcs-cli kicad arduino keepassxc yosys gimp inkscape vim

Some distributions, such as 64 bit Fedora, put 64 bit libraries in the /usr/lib64 directory, whereas nautilus-python (the program that lets us extend nautilus) assumes all libraries are in the /usr/lib directory. This is a nautilus-python bug. The current workaround is to create a symlink:

ln -s /usr/lib64/libpython2.6.so /usr/lib/libpython2.6.so

NopSCADlib requires some setup:

sudo sh -c 'echo "export OPENSCADPATH=$HOME/Documents/GitHub/replimat/lib/openscad" >>/etc/profile'

Meikian Live

Meikian Live (formely named CWLive) is a GNU/Linux live distribution initially focused on Clone Wars community, but intended to all the RepRap users and developers. Based on Debian GNU/Linux, it includes most of the Software, Firmware, useful links and other related stuff you can use on a day to day as a reprapper.

Pop! OS

sudo apt install meld git openscad rustc cargo rabbitvcs-nautilus rabbitvcs-gedit rabbitvcs-cli kicad arduino gnome-tweak-tool obs-studio obs-plugins fritzing subversion keepassxc yosys openscad freecad gimp inkscape cura exfat-fuse python3-markdown codespell peek autokey filelight yagv vim vokoscreen-ng libserialport0 patchelf solvespace

To get the latest IceStudio, download the appimage from icestudio.io

NopSCADlib requires some setup:

sudo sh -c 'echo "export OPENSCADPATH=$HOME/Documents/GitHub/replimat/lib/openscad" >>/etc/profile'

Add the following to /etc/profile as well

if [ -d "$HOME/Documents/GitHub/replimat/lib/openscad/NopSCADlib/scripts/" ] ; then
  PATH="$PATH:$HOME/Documents/GitHub/replimat/lib/openscad/NopSCADlib/scripts/"
fi

Arduino doesn't run out of the box on recent Ubuntu releases. We need to patch a library to allow it to work:

sudo patchelf --add-needed /usr/lib/x86_64-linux-gnu/libserialport.so.0 /usr/lib/x86_64-linux-gnu/liblistSerialsj.so.1.4.0

Download and unpack U8glib-HAL arduino library into ~/Arduino/libraries/

Download Marlin firmware and unpack into ~/Documents/GitHub/Marlin/

Ubuntu

sudo apt install meld git openscad rustc cargo rabbitvcs-nautilus rabbitvcs-gedit rabbitvcs-cli kicad arduino gnome-tweak-tool obs-studio obs-plugins fritzing subversion keepassxc yosys openscad freecad gimp inkscape cura exfat-fuse python3-markdown codespell ubuntu-gnome-default-settings vanilla-gnome-default-settings vanilla-gnome-desktop ubuntu-gnome-desktop peek filelight yagv vim vokoscreen-ng libserialport0 patchelf solvespace

NopSCADlib requires some setup:

sudo sh -c 'echo "export OPENSCADPATH=$HOME/Documents/GitHub/replimat/lib/openscad" >>/etc/profile'

Ubuntu 20.10 requires a symlink in /usr/bin for the ImageMagick command line utility:

sudo ln -s /usr/bin/convert /usr/bin/magick

Arduino doesn't run out of the box on recent Ubuntu releases. We need to patch a library to allow it to work:

sudo patchelf --add-needed /usr/lib/x86_64-linux-gnu/libserialport.so.0 /usr/lib/x86_64-linux-gnu/liblistSerialsj.so.1.4.0

Download and unpack U8glib-HAL arduino library into ~/Arduino/libraries/

Download Marlin firmware and unpack into ~/Documents/GitHub/Marlin/

Redox

Redox OS is an operating system written in the Rust programming language, and a high-value build target for Replimat. Expanding the instructions here, for installing the software necessary for building and modifying Replimat to work on Redox OS would be an excellent way to contribute to the project.

Windows

  • chocolatey doesn't seem to have openscad, arduino, possibly others
  • Just-install does not seem to have openscad
  • Windows Remix seems to have openscad
    • openscad, github desktop, freecad, inkscape, gimp, arduino, cura,

CAD

Cloning the git repository

  • If you haven't already, install git.
  • Join Github
  • Using the command line client:
  • Using the Github Desktop:

OpenSCAD

Replimat parts are modeled with important features oriented toward the X axis origin, and centered on the grid location closest to the origin or with a mounting hole centered at that location.

A set of CAD functions are available as part of the MCAD library for the free and open source OpenSCAD constructive solid geometry software, mostly within gridbeam.scad. It contains functions for solid and hollow beams of configurable size and orientation, flat surfaces with and without notched corners, and easy hole-aligned translation:

// zFrame(segments) - create a vertical frame 'segments' long
// xFrame(segments) - create a horizontal frame along the X axis
// yFrame(segments) - create a horizontal frame along the Y axis
// topPlate(width, depth, corners) - create a plate width and depth in 'segments', corners == 1 notches corners
// bottomPlate(width, depth, corners) - like topPlate, but aligns plate to underside of frames
// backPlate(width, height, corners) - like topPlate but aligns plate to back side of frames
// frontPlate(width, height, corners) - like topPlate, but aligns plate to front side of frames
// translateFrame([x, y, z]) - translate frames or plates in X, Y, or Z axes in units 'segments'

There's also an M-Bitbeam OpenSCAD library and another Gridbeam and Bitbeam OpenSCAD and OpenJSCAD library.

Additional information can be found in the OpenSCAD User Manual

FreeCAD

A FreeCAD Replimat library is currently under development. BOLTS and FreeCAD Library serve as useful starting points.

OpenJSCAD

Inkscape

CGAL

DXF2Papercraft

CADQuery

Code CAD based on the Python programming language and PythonOCC Docs

Misc

VR

LOVR

"LÖVR uses a 3D coordinate system with values specified in meters. Negative z values are in front of the camera, positive y values are above the ground, and negative x values are to the left. By default, the coordinate system maps to the VR play area, so the origin is on the ground in the middle of the play space." LOVR docs

3D Scanning

CAM

Images

Nesting

Electronics

Firmware

Packaging

Ubuntu

Windows

Tools of interest

Bills of material

Computer vision

Rust

OpenSpace3D

Unity

Garry's mod

Voxel

truescad

Clone git repository:

mkdir ~/Documents/GitHub/truescad
cd ~/Documents/GitHub/truescad/
git clone https://github.com/hmeyer/truescad

Install some dependencies (Ubuntu):

sudo apt install librust-glib-sys-dev librust-cairo-rs+gobject-sys-dev librust-pango-dev librust-atk-sys-dev librust-gdk-pixbuf-dev librust-gdk-dev

Build truescad:

cargo build

Solvespace

Finite element analysis

play.replimat.org

LeoCAD / LDraw

The term "LDraw" can be used to refer to the original DOS based LDraw program, the LDraw parts library, the LDraw file format or the LDraw System Of Tools.

  • Bitbeam parts for LDraw
  • LDraw Parts Library: Parts library
  • LDview: Viewer
  • MLCad: Editor
  • LeoCAD: Editor
  • LDCad: Editor
  • LPub3D: Publishing tool
  • LICreator: Publishing tool
  • LSynth: Add-On
  • LDGlite: Viewer
  • POV-Ray: Renderer
  • LGEO Parts Library: POV-Ray parts library
  • MPDCenter: Utility
  • LDFind: Utility
  • LSulpt: Converter
  • Offline Parts Catalog: Catalog

References


To Be Sorted