Giter Club home page Giter Club logo

manipulator's Introduction

Manipulator-WB

made-with-python

FreeCAD Addon manager status

FreeCAD Manipulator WorkBench

Manipulator features:

  • Align , Move and Rotate and Measure helpers for Part, App::Part and Body objects

  • Each Tool has a Help Button to get some useful tips

Manipulator Gui

Manipulator in action

Aligner:

Mover:

Caliper:

Installing

Download and install your corresponding version of FreeCAD from wiki Download page and either install

  • automatically using the FreeCAD Add-on Manager (bundled in to 0.17 dev version under Tools Menu)
  • manually by copying the Manipulator folder to the Mod sub-directory of the FreeCAD application.

Manipulator Cheat sheet

Manipulator Cheat sheet

Requirements

  • FreeCAD v0.15 4671
  • FreeCAD v0.16 >= 6712
  • FreeCAD v0.17 >= 11707
  • FreeCAD v0.18+

License

GNU GENERAL PUBLIC LICENSE

manipulator's People

Contributors

chennes avatar dannystaple avatar easyw avatar luzpaz avatar macdroid53 avatar zlice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

manipulator's Issues

Caliper dialog does not deploy

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16117 (Git)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: dbb4cc6415bac848a294f03b80f65e888d531742
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)

The Manipulator workbench run property but this not deploy Caliper dialog

this is what report view print
"Manipulator WB Activated(v 1.3.2)
Caliper version 1.5.2
Caliper
closed
Caliper active :)
"

Transparency sticks (bug)

So, i clicked some object, chose XRay mode in this manipulator WB's align tool, and then chose some other object etc etc, and exited the align tool. That is, did not complete the action which the xray toggle was waiting for.

The result was that the transparency got applied to the body. And then i mistakenly saved the file ๐Ÿคฆ

I check all things i could thought of:

  • checking the transparency of body: was set to 0
  • searching for "xray" or "transparent" like terms in launcher add on: nothing found
  • checking python console to see what the xray toggle of this align tool does : any activity of this addon doesnt show up on the python console
  • closing the document and reopening: nothing
  • closing freecad and reopening: still nothing
  • uninstalled this manipulator addon: still nothing
  • moving up down the feature tree: the older feature was showing opaque (some hope :)
  • changing the body's view > Disaplay mode to Tip (from default's through): that made it opaque in current viewerport, but it still showed transparent in the document in which it was linked
  • then finally, i changed the transparency of the body (which was already set to zero), and set it back to zero, only this helped in restoring all the way - in current viewerport, upto the tip of feature tree, and in linked documents as well
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24267 +99 (Git)
Build type: Release
Branch: Branch_0.19.3
Hash: 6530e364184ce05ccff39501e175cf2237e6ee4b
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.3
Locale: English/United States (en_US)

Handcam turn construction on the head

After I am using the handcam of the mover tools my construction is standing on the head. The idea use the cam a second time does not work.
Before using the handcam
Before using handcam
After first use:
first using handcam
After second use
second using handcam

Measuring doesn't respect FC's decimals settings

In the FC preferences I set the unit number of decimals to '3' because I need micrometer precision.

When measuring using the manipulator measuring tool, I only get 2 digits.

The manipulator WB should use the FC-wide number of decimals settings too.

move multiple pieces

It would be great to be able to move multiple objects at the same time.

Ideally, to be able to

  1. select objects from hierarchical view
  2. use ctrl/shift to select multiple object
  3. select and manipulate groups in hierarchy

Great tool, it's easier to use than Draft but slow because I can only seem to do one thing at a time.

Mover and aligner not respecting Part container rotation

Steps to reproduce:

  1. Import a PCB
  2. Right click top part container select transform, rotate 90 degrees (Mover or aligner can be used as well.)
  3. Select a component on the board
  4. Use Mover or aligner to move along a specific axis.
  5. Components is now moving along the relative axis of the part container, instead of the absolute axis.

On a side note, if you have a part container, in a part container, in a part container. The part will move relatively to the rotation of each of them

Manipulator makes the Draft grid visible when aligning on 0.22

When using Manipulator with V0.22-dev, Draft workbench grid will appear when after the aligner tool. This is not the case when using Manipulator with V0.21

Steps to reproduce:

  • Create a new empty FreeCAD file
  • Add any geometry (for example, a part workbench cube)
  • Use the aligner tool to move any face to the origin
  • Draft workbench grid appears, and you need to switch to the Draft workbench to disable it
    Screenshot_2024-03-04_17-39-23

FreeCAD version information

OS: Ubuntu Core 22 (XFCE/xubuntu)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.36236 (Git) Snap 945
Build type: Release
Branch: main
Hash: 0420f72ca0d72198f1eaf347d31479f29658efc4
Python 3.10.12, Qt 5.15.10, Coin 4.0.0, Vtk 7.1.1, OCC 7.7.1
Locale: C/Default (C) [ OS: English/United States (en_US) ]
Installed mods: 
  * fasteners 0.4.66
  * Assembly3 0.12.0
  * lattice2 1.0.0
  * Manipulator 1.5.0

Freecad hangs up after first measurement

I can measure the first distance with the caliper, after that FreeCad hangs up.
I had to create a screenshot with my smartphone.
My Screenshot capture software (Greenshot) gets blocked because of that.

Any idea what could be the issue?

OS: Windows 11 build 22631
Word size of FreeCAD: 64-bit
Version: 0.21.2.33771 (Git)
Build type: Release
Branch: releases/FreeCAD-0-21
Hash: b9bfa5c5507506e4515816414cd27f4851d00489
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.3
Locale: German/Switzerland (de_CH)
Installed mods: 
  * Manipulator 1.5.7
  * QuickMeasure 2022.10.28

2024-05-29 10_29_03-_Unbenannt - paint net v4 3

Flansch1.zip

align wrong parts to wrong locations

If I clone a body in Part Design multiple times, and attempt to move the clones to separate sketch faces - parts move that aren't selected, parts move to random coordinates (sometimes opposite directions, sometimes to the wrong selection?, sometimes just where ever it wants).

Steps:
Make sketches of 30 squares
Merge sketches
Make single body pad
Clone body 30 times
Select edge to move to
Select edge of clone to move
Take your bets...

May be a FreeCAD issue, but I couldn't find anyone with the same problem

Caliper tool crashes

When I finish selecting e.g. two faces for distance measurement, it plots the "dimension" and then shows the error:

Traceback (most recent call last):
File "/home/ivizot/.FreeCAD/Mod/Manipulator/Caliper.py", line 417, in addSelection
Draft.autogroup(dim)
<type 'exceptions.AttributeError'>: 'module' object has no attribute 'autogroup'

I suppose that is somehow related to the indication of the distance near the line showing measurement...
screenshot from 2017-11-08 16-17-56

Some observations

Love the workbench, it's simplicity makes it one of my frequently used tools.

I've noticed a few things that either I don't understand properly or may make for some enhancements to the workbench.

  1. Allow to flip normals on the previous align operation without having to undo and reselect everything again. This isnt so much an issue as it is an inconvenience.

  2. I'm unable to use the align tool on link copies of Part Design bodies, is this a known issue?

Kind Regards,
Obelisk

Cannot align linked parts

Hello, I have a part which is linked to another file and a part which is in this file, and I'd like to align them together. However, using the Aligner Workbench results in

14:24:49  Align clicked
14:24:49  centering on Center of Mass
14:24:49  Centering and aligning Planes
14:24:49  position written float/589/269/302/394
14:24:49  111
14:24:49  number of objects: 2
14:24:49  obj: MS3_Stage
14:24:49  Placement: Placement [Pos=(-30.2919,0.263641,-0.038), Yaw-Pitch-Roll=(0,0,90)]
14:24:49  obj: Part__Feature
14:24:49  Placement: Placement [Pos=(0,0,0), Yaw-Pitch-Roll=(0,0,0)]
14:24:49  j= 0
14:24:49  len selEx 2
14:24:49  Label : MS3_Stage
14:24:49  Name  : MS3_Stage
14:24:49  Center Face Binder 0 Vector (4.887070519600947, 0.26364103920189486, -4.483000000000003)
14:24:49  Center Face Binder bb 0 Vector (4.88707051960095, 0.26364103920189397, -4.483000000000003)
14:24:49  Part
14:24:49  Link001
14:24:49  Stage Assembly App::Link
14:24:49  ['Part', 'Link001']
14:24:49  Traceback (most recent call last):
14:24:49    File "/home/ethan/.local/share/FreeCAD/Mod/Manipulator/./Aligner.py", line 884, in onAlign
14:24:49      Align(normal,type,mode,cx,cy,cz)
14:24:49    File "/home/ethan/.local/share/FreeCAD/Mod/Manipulator/./Aligner.py", line 2030, in Align
14:24:49      listSorted=get_sorted_list (ob)
14:24:49                 ^^^^^^^^^^^^^^^^^^^^
14:24:49    File "/home/ethan/.local/share/FreeCAD/Mod/Manipulator/./Aligner.py", line 1510, in get_sorted_list
14:24:49      if len(ap.InListRecursive) < lvl:
14:24:49             ^^^^^^^^^^^^^^^^^^
14:24:49  AttributeError: 'NoneType' object has no attribute 'InListRecursive'

assemblies-1.zip

Calipers broken with latest daily build

Any attempt to use clipers:

11:50:23 starting! 11:50:28 draft: deprecation warning: Do not use getDefaultColor("ui") anymore - use getDefaultColor("line") instead. 11:50:28 Traceback (most recent call last): File "/home/mac/.FreeCAD/Mod/Manipulator/Caliper.py", line 485, in addSelection PC=mDraft.makePoint(pnt[0],pnt[1],pnt[2]) File "/home/mac/.FreeCAD/Mod/Manipulator/oDraft.py", line 2937, in makePoint color = FreeCADGui.draftToolBar.getDefaultColor('ui') File "/usr/share/freecad-daily/Mod/Draft/DraftGui.py", line 1690, in getDefaultColor r = float(self.color.red()/255.0) <class 'AttributeError'>: 'DraftToolBar' object has no attribute 'color'
OS: Ubuntu 20.04.1 LTS (XFCE/ubuntustudio) Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19. Build type: Release Branch: unknown Hash: cdc01cb20cfa74079c45b9dc2dab81e3248b2aa5 Python version: 3.8.5 Qt version: 5.12.8 Coin version: 4.0.0 OCC version: 7.3.0 Locale: English/United States (en_US)

Exception error when launching tools

I'm not able to launch the tools from the workbench, it throws an exception:

Thread size out of range
Manipulator WB Activated(v 1.2.7)
Running the Python command 'AlignerTools' failed:
Traceback (most recent call last):
  File "/home/<snip>/.FreeCAD/Mod/Manipulator/ManipulatorCMD.py", line 65, in Activated
    import Aligner
  File "/home/<snip>/.FreeCAD/Mod/Manipulator/Aligner.py", line 43, in <module>
    import FreeCAD, FreeCADGui, Draft, Part, DraftTools, DraftVecUtils
  File "/usr/lib64/freecad/Mod/Draft/DraftTools.py", line 44, in <module>
    from DraftGui import todo, translate, utf8_decode
  File "/usr/lib64/freecad/Mod/Draft/DraftGui.py", line 2563, in <module>
    import DraftSnap
  File "/usr/lib64/freecad/Mod/Draft/DraftSnap.py", line 36, in <module>
    import FreeCAD, FreeCADGui, math, Draft, DraftGui, DraftTrackers, DraftVecUtils, itertools
  File "/usr/lib64/freecad/Mod/Draft/DraftTrackers.py", line 38, in <module>
    from pivy import coin
  File "/usr/lib64/python3.7/site-packages/pivy/__init__.py", line 30, in <module>
    from .coin import SoDB, SoNodeKit, SoInteraction
  File "/usr/lib64/python3.7/site-packages/pivy/coin.py", line 67214, in <module>
    for x in locals().values():

dictionary changed size during iteration

Python 3.7 and FreeCAD 0.18

How to hint of the existence of Manipulator WB within a vanilla FreeCAD install?

I've been thinking about an issue a lot from a UX perspective. FC doesn't ship with very powerful measurment capabilities hence manipulator was created. Is there a way we can within the current FC infrastructure provide a means for users to streamline finding out about Manipulator and installing it?

For example, we see the Tools โ†’ Measure distance option in the FC GUI, what if we had an option in that dropdown that was a lead to Manipulator WB? 'Install Manipulator WB' that would open the Addon Manager and queue up installing the workbench?

Edit: once the workbench was installed the dropdown menu entry would either be deleted or read something like 'Open Manipulator WB'

Undo/redo

Hi!
Why is Aligner using its own internal undo/redo system?

Using undo/redo in FreeCAD is very easy. Just add App.ActiveDocument.openTransaction('title') before doing anything, App.ActiveDocument.abortTransaction() if canceled (freecad unrolls all changes), and App.ActiveDocument.commitTransaction() when all changes are applied.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.