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.

  • 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

  • OK so it appears to me the short answer is avoid solid primitives and use constrained profiles for everything.

    To me that seems to be a pretty unintuitive and overly complicated process.
  • David Trejo-Rodriguez,

    This is more or less the same process I was using, I've been having some issues with constraints being lost and dropped and/or the software complaining about the constraints being too complicated (I don't recall the exact verbiage).  I've shifted over working on simpler solids and I'm having some mild success.  If you look back to my post on 12-7, I uploaded a test file that includes everything except the array and all the variables/variations and "most" of the associated calculations that are required to fully constrain and build this part.  The only issue I see is that the example provided isn't as fully constrained.

    Below are pictures of the missing constraints that you don't have in your model and a list example of variations and variables.  To be clear I'm not really looking for Bentley to model my parts, I'm looking for understanding of limitations at this point.  Un-constrained I can make this part all day long, it's once I start to constrain it in all three dimensions that it has issues.  It's as if the software is just very poorly optimized when it works it takes a full order of magnitude longer to process and re-draw over feature modeling in v8i.  It works fine and it's smooth up till some point in the process when it starts to go from taking 3-4 seconds to apply a variation to exploding or taking 40-45 seconds to apply a variation.

    If feature modeling wasn't so broken in Connect I would honestly prefer to use the legacy tools, as they were easier and didn't require such backwards modeling to create parts being able to make blind protrusions also means adding things like tie rods takes half as many features to create.  (Thus half as much computing power?)  If I wanted to make one of the large blocks different in size from the other (which is actually the case in a different style) requires extra hoops to model as well were the blind protrusion would simply let me protrude a larger surface off a smaller one and bond them together.

    pic 1

    pic 2

    DavidG,

    I couldn't have said it better myself.

    The only way I can describe it is If you've ever used a HP calculator with Reverse Polish notation; it feels like Microstation went from being a fairly easy to understand basic process of modeling (even with feature solids) to a Reverse Polish method.  I can get used to doing everything backwards but the community as a whole would be served well to have developers go back and re-review the legacy tools for feature modeling (not DDD) while the 2D has taken a few steps forward the 3D has taking a lot of steps backwards.

    I'll dig into the example model provided tomorrow morning with a fresh cup of coffee.

  • Unknown said:
    The only way I can describe it is If you've ever used a HP calculator with Reverse Polish notation;

    Dude I've been using the same HP-15C since 1982.  An incredibly well build calculator thats worth more now than when I bought it!  

    Once you know how to use one they requires far less steps than a conventional calculator.  Wish the same could be said modeling in Connect.  But I understand you analogy to thinking backwards.

    I agree while DDD has been greatly improved 2D profiles should not be the foundation for 3D design.  Just because you can make it work, sometimes, doesn't mean thats how it should work.  The way I'm doing it now I design in 3D then have to study it and figure out the best "sides" to build 2D profiles and essentially rebuilt the entire model using a much lengthier process that the original.  The long term effect is your thought process gets limited to the constrains and methodology of the software.

  • Anyone try exporting this model to DWG? I get an empty model.