GithubHelp home page GithubHelp logo

Comments (7)

PaddleStroke avatar PaddleStroke commented on September 27, 2024 1

The UI just needs to add spinboxes for X Y offset when they are needed

from freecad.

qewer33 avatar qewer33 commented on September 27, 2024

The first problem isn't an issue with the Joint, you're just selecting the wrong elements for the JCSs:

vokoscreenNG-2024-06-06_14-11-30.webm

from freecad.

luisDias89 avatar luisDias89 commented on September 27, 2024

@qewer33 Yes, you are right. It's possible. Now it just needs to handle the GAP in all cases.

from freecad.

PaddleStroke avatar PaddleStroke commented on September 27, 2024

For limitation 2: I think the best would be to add the possibility to set offset along the X and Y axis.

from freecad.

howie-j avatar howie-j commented on September 27, 2024

@luisDias89 As i said previously, the new assembly workbench works very differently to Solidworks, and much more similar to Onshape. The main differences is that Solidworks uses simple constraints on single elements (faces/curves/vertexes) and the Assembly workbench uses joints with JCS (Joint Coordinate System, that preview 3 axis widget you see when selecting elements). That means for a fixed joint, all 3 rotational axis and all 3 translate axis are locked. For a slider, all axis except for Z axis translate is locked. The orientation of the JCS when selecting something is critical for making the joint work correctly. The limitation 1 video is an example of such a incorrectly made joint, as @qewer33 showed the correct way to make that joint.

This also means only one joint is almost always enough per part. No need for 3 constraints (2x coincident + distance limit) as in Solidworks, a single slider joint does the same. This is a MUCH better system in most cases, as it reduces the total number of joints/constraints, simplifies the assembly greatly and makes it so much easier to maintain and fix errors in the assembly later.

To make more advanced joints such as the example with a gap, you can select either sketch elements or datum elements in the original parts as joint elements. Here i simply created two datum lines along the common axis for both sliders: Slider_gap.zip

slider_gap.webm

Onshape solves this issue multiple ways:

  1. By Mate Connectors, which are standalone JCS objects you can place in bodies or parts. FreeCAD does not have this yet, but it might come in the next release after 1.0. In the meantime, using datum points, lines, local coordinate systems and sketches with sketch elements works great.
  2. By modifying the JCS orientation and offset upon joint creation:
    Mate Dialog
    This is similar to what @PaddleStroke proposes i guess, and is essential for more advanced assembly work. This will not be in 1.0, but should absolutely be included in the next release. I might try implementing it myself if i find time.

Remember that Assembly workbench is super new and fresh, and under heavy development. The goal for 1.0 was to have a working MVP, not an Onshape/Inventor/Solidworks Assembly replacement. If you still struggle with the idea of joints instead of constraints, i recommend switching to the addon A2plus, which works much more similar to Solidworks.

from freecad.

howie-j avatar howie-j commented on September 27, 2024

Well i'll be damned, joint offset already exist, it's just not exposed in the joint task panel yet. So no auxillary/datum geometric elements are actually needed:

offset.webm

from freecad.

luisDias89 avatar luisDias89 commented on September 27, 2024

@howie-j Yes, that's it, but in an intuitive way with the Slider

from freecad.

Related Issues (20)

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.