Connect - 2D Planar Distance Constraint

So, back in early Oct. I did a bunch of adjustments to the layout of the Connect Ribbon to make the work flow more user friendly.  Most of this involved moving the groups from the individual ribbons into pull down menus so they wouldn't take up nearly as much space.  Some how I tossed the "Planar Distance" Constraint into my Ribbon and I've been using it effectively to make the protrusion tool work for a few weeks.  Today I decided to segregate the dimensional constraints from the other 2D constraints in my customization because one type persists through 3D feature creation and the other does not.

Problem is... I cannot find this Constraint 2D Planar Distance tool anywhere in the original Bentley ribbons and I know I didn't just invent it.  What's even more weird is that the keyin half works it doesn't appear in the keyin browser as an option but it does activate the tool and does work!

My most immediate concern is should even be using this tool or is it going to cause some major issues down the road.

Thanks in advance.

Parents Reply
  • I attempted to recreate the model and as you can see in the above image I only used a handful of commands.

    In trying to recreate your model did find some tips/tricks that you might find useful for future use:

    1. Solid of extrusion:

    a. started with profile.

    b. extruded to get

    c. once the initial solid is extruded I used the "Fixed" constraint under 3D constraints to lock the location and orientation of the solid

    2. Cut solid to make cylindrical shape

    a. Profile used. This is actually a grouped hole profile, you will see why this is important later

    Some thing that you might notice is that I don't have a dimension do define the dimensions of the sides of the square. to achieve this what I did was make the length of the side equal to the length of the edge of the extruded solid from (1b)  using the "Equal" constraint under 2D Constraint tools, in addition I also used the coincident constraint to constrain the position and orientation of the profile in reference to (1a) from the same set of tools

    b. after constraining the profile I further constrained it in 3D space using the 3D Dimension tool

    c. using Cut Solid by curves with settings. for the cut depth I used a variable in conjunction with others so that the depth of the  cut depends on the overall length and the thickness desired of each end blocks

    to get the following

    as you can see using a grouped hole profile along with the cut solid tool will remove any solid section within the grouped profile. I found this much easier solution than creating a separate solid then using the subtraction tool to create the cylindrical feature.

    3. Protrude end cap

    a. profile is just a circle. constraints

    b. constrain the profile in 3D space with 3D dimension constraint. this in conjunction with the protrusion tool is I think a better option than extruding a cylinder through a distance then joining it to the main solid

    c. using the "Create solid protrusion"

    4. creating the interior support rods

    a. profile used for the interior support rod. Instead of using distance constraints I used the "Concentric" constraint from 2D constraint tools to constrain the profile in reference to a circular edge from (3c)

    b. next I constrained the profile in 3D space by constraining the profile to be coincident with the face of the solid

    c. using "create solid protrusion we get the following

    the benefit in this workflow is you don't have to know how far the profile is extruded through, the placement of the profile, the protrusion tool will find the interior faces of the solid as necessary.

    5. create protrusion for thumb screw/nut

    a. in a similar way to (4a) the profile is constrained

    b. constrain the profile in 3D space as in (3b)

    c. create the protrusion

    6. create protrusion for

    a. as in (4a) and (5a) the profile is

    b. constrain the profile in 3D space. In this case the distance constraint is between the face of the solid form (1c) and the circular profile. another option could be between the circular face created in (5c) and the circular profile.

    c. protrude the profile

    7. create circular protrusion

    a. in a similar was as in previous steps the profile is constrained to be concentric to a circular edge created by the cut in (2c)

    b. constrain the profile in 3D space

    c. create the protrusion

    8. create second circular protrusion

    a. similar to (7a) the profile created is

    b. constrained the profile in 3d space. in this instance unlike in (6c) the 3D dimension constraint is between the circular face created in (7c) and the circular profile.

    This in my opinion is a better method. Using the above image as a reference if you were to increase the value of "thumb screw thickness" to a value greater than "thread extrusion length" the feature (6c) would fail to get created as desired.  It would be possible to use expressions in variables to mitigate this if you decide to use the method from (6)

    c. create the protrusion

    9. create the hole

    a. using the "Hole Feature" tool

     b. though the hole is created it lacks any constraints so changes to the geometry have to be added. to do this you have to make the profile visible

    c. add a 2D concentric constraint. after adding the constraint don't forget to go back and hide the profile, this is done in the same way as (9b) the menu will change and should show a "Hide Input Element" option

    10. array the appropriate features

    a. for this case I used the rectangular array option. A polar array could be considered but that would require a change in the initial profile (1a) where the center of the square is coincident with the global origin which would require creating construction lines, this is because the point of rotation in the polar array tool cannot be constrained beyond the initial placement so if you set up the model to use the global origin as a center of rotation you don't have to worry about changes in geometry.

    For the row and column spacing I just used a variable using expressions that relied on knowing what the length of the edge was, which was set using a variable in (1) and subtracting 2X the offset of the profiles used in (3a)

    I. array 1

    II array 2

    III. array 3

    IV. array 4. 

    I did run into an issue with one instance where even though the angle was set to 0.

    If you run into this what you would want to do is investigate the initial profile of the problem feature. In my case I found the following

    To fix the issue I just changed the value of Rotation-Z to 0 so when I go back to perform the array

    When the completed you should have

    You should then be able to use the variable to create variation as desired for use as a parametric cell.

    There are a couple things I have found with the union feature in conjunction with the 3D Dimension constraint and other constraints. If the constraint is made between the face of a solid and the profile of another solid the constraint will remain and changes can be made, this includes through variables. In another case if you constrain 2 faces of 2 separate solids by a distance then join them using the union tool the distance constrain is visually becomes lost and locked to the value and changes are not able to be made.

    In my view this makes some sense. The reason being is that the profile drives the geometry of the solid.

    Take the case of having a block with an extrusion on one side:

    In this case I extruded the larger block then drew the profile of the smaller block then extruded it. The coincident constraint is between the faces of the solids

    After joining them using the Union tool:

    You can see that the constraint is gone. This is where I believe it becomes clear that it makes sense that the constraint is lost. Because the face of the smaller block no longer exists so any constraint between it and another face is not possible. If however you constrained the profile used to create the extrusion then created a union the profile still does exist and the constraint is carried over after a union.

    3dconstraint test.dgn