bullwinkle3000 / dactyl-keyboard

Dactyl-ManuForm, a parameterized ergonomic keyboard translated into Python including a cadquery / Open CASCADE implementation.
GNU Affero General Public License v3.0
219 stars 58 forks source link

Current configs generate plates that render flat #3

Closed klevermonicker closed 2 years ago

klevermonicker commented 2 years ago

Been tinkering with all the options you have here which is super impressive...I did notice when rendering in openSCAD that the plates...all the plates render as 2D and therefore we are unable to export them as STL's.

Sqwrly commented 2 years ago

Yeah, gotta use cadquery to get the bottom plates to come out. That also gives you STEP files. I love getting the STEP files out of it, allowed me to make minor geometry fixes/additions before printing. So I run 'solid' for rapid iteration then when I'm happy with that change it to 'cadquery' to get the STEP and STL files.

klevermonicker commented 2 years ago

Yeah, gotta use cadquery to get the bottom plates to come out. That also gives you STEP files. I love getting the STEP files out of it, allowed me to make minor geometry fixes/additions before printing. So I run 'solid' for rapid iteration then when I'm happy with that change it to 'cadquery' to get the STEP and STL files.

I tried to give that a shot and I get a ton of errors related to cadquery import. I'll dig into those to try and solve. I can't do a simple import of cadquery from the python interactive console without getting a ton of errors. So that's out for the time being. I'll keep poking at it.

python dactyl_manuform.py run_config.json

NO CONFIGURATION SPECIFIED, USING run_config.json

Found Current Engine in Config = cadquery Traceback (most recent call last): File "dactyl_manuform.py", line 2097, in <module> make_dactyl() File "dactyl_manuform.py", line 131, in make_dactyl globals().update(importlib.import_module("helpers_cadquery").__dict__) File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/klevermonicker/code/dactyl-keyboard/src/helpers_cadquery.py", line 1, in <module> import cadquery as cq File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/cadquery/__init__.py", line 31, in <module> from .assembly import Assembly, Color, Constraint File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/cadquery/assembly.py", line 10, in <module> from .occ_impl.solver import ( File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/cadquery/occ_impl/solver.py", line 22, in <module> class ConstraintSolver(object): File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/cadquery/occ_impl/solver.py", line 89, in ConstraintSolver Callable[[Array[(Any,), float]], float], File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/nptyping/base_meta_classes.py", line 138, in __getitem__ args = cls._get_item(item) File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/nptyping/ndarray.py", line 69, in _get_item shape, dtype = cls._get_from_tuple(item) File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/nptyping/ndarray.py", line 110, in _get_from_tuple shape = cls._get_shape(item[0]) File "/home/klevermonicker/miniconda3/envs/dactyl-keyboard/lib/python3.7/site-packages/nptyping/ndarray.py", line 124, in _get_shape f"Unexpected argument '{dtype_candidate}', expecting" nptyping.error.InvalidArgumentsError: Unexpected argument '(typing.Any,)', expecting Shape[<ShapeExpression>] or Literal[<ShapeExpression>] or typing.Any. (dactyl-keyboard)

Sqwrly commented 2 years ago

Did you do the steps to setup the Conda environment and do it from there?

Also a recent update changed the directory I have to run it from. I used to run it from within the src directory but that is broken for me now so i have to run it from the main project directory like: python src/dactyl_manuform.py.

See this section of the readme: https://github.com/bullwinkle3000/dactyl-keyboard#main-differences-and-how-to-make-it-go

klevermonicker commented 2 years ago

unfortunately the behavior persists no matter where I am. I've installed it following steps to build the conda environment. I've tried updating things, tried cadquery=2 and cadquery=master...same behavior.

klevermonicker commented 2 years ago

Not sure exactly what the fix was, but I did get it working. I think I was stuck on python3.7 and noticed the repo calls out 3.8. For unrelated reasons I also moved to a different *nix since I was getting some inconsistencies with the original. Going to close this out now since it works.