Moving a face by distance measured not perp to the face

I have a slab sloping at 8o to horizontal, with a square edge face. I want to dmmove that edge face, to extend the slab (in its own plane i.e. perp to the edge face) by 300mm, but that 300mm to be measured horizontally, not measured perp to the edge face.
UCS has xy plane horizontal.
I select the edge face>click dmmove>enter first point>SHIFT to lock snap tracking>type 300 in dynamic dimension box>ENTER
But the slab extends 300 measured in the plane of the slab/perp to the edge face, not as desired.

How can I make the 300 extension be measured horizontally? Or in fact measured in any chosen direction other than the default which is perp to the edge face?
Some other workflow altogether?

«1

Comments

  • Hmmh, I tried.

    Create a Box, rotate its Top Face to an angle by Manipulator.
    Things like PushPull will move the Face along the vertical Edges
    of the Cube - fine, but I was in doubt about the dimension drirection.

    So I created a second Cube with 300 height at the top of my
    sloping Cube to check that - does not work - as distance input
    is perpendicular to the sloped Face.

    But this is my Workaround Proposal.
    Set a vertical 300 mm Line or Cube as helper object on top of
    your Slab and move (?) or Push Pull the Face but snap to the top
    of the helper Object.

    But I'm sure there might be better solutions.

  • BTW,

    you can also select the desired Face's uper and lower Edges.
    Then DMMOVE will offer Z axis as moving direction.
    (because more than one element selected ?

    or ....

    long-select the Face,
    brings Manipulator,
    realign Manipulator to world axes,
    activate move-Z-axis and enter distance

    or .... ?

  • or copy the hole Slab in Z and finally a boolean union

  • Michael Mayer
    edited August 2019

    Looks like I misunderstood your problem and found a lot of workaround for
    the opposite of what you want.
    But honestly I don't really get what you exactly want.
    Could you post a file with your Slab and desired location or a screenshot
    please.

  • I thought of a much better way to say it;

    Roof slab @ 35o to horizontal, with square bottom edge face, overhanging the wall.
    Every architectural drawing dimensions that overhang by a horizontal dimension off the wall face - say 300mm. That's what I want - to 'pull' the roof edge face until its bottom edge is exactly 300mm horizontally from the wall face.
    Dont want to have to do trigonometry to be able to input a distance to 'pull' the edge face by a distance parallel with the roof plane.

  • I built a Wall and a sloped Slab - with vertical! edge Face.
    When I use Push Pull it will use directly Y world axis for dimension.
    (which is of course perpendicular to edge face too)
    Can't see a problem there.

    So I assume your Roof Edge Face is sloped 10° from WCS like the Roof.
    In that case it should work by selecting top+bottom Edges,
    which allows DMmoving along WCS distances,
    while still following the Slabs slope to keep edge integrity.

  • Yes, as yr para 2.
    Thanks for great hint - will try that

  • Moving/Pushing Edges didn't work in my current test ....
    Dimension input was along correct axis - but Face or Edges moved
    to another distance anyway.

    Manipulator should work better.
    Will try real "rotated" Slab,
    as I used a parallelogram like bent Slab so far.

    Dont want to have to do trigonometry ....

    Me too.
    But coming from simple basic Solid Modeling in Microstation,
    I was used to do everything with backup copies and helper geometry.
    I think I would try that in such a case too, if something does not work
    as I expect or need.

    In your case I always used copies of that wall in all kind of 300 mm
    distances to check my modeling steps for accuracy.
    If it would be my problem, I would use these helper geometries to
    somehow force moving distance with snapping in any way.

  • Tom Foster
    edited September 2019

    Yes, 'square edge' means rectangular/box shape.
    I have a Helper method, but hoped to not to have to.
    dmcopyface doesn't seem to work, instead solidedit>face>copy the wall face (as Region). Offset it 300, move it up if nec. Pushpull the roof edge 'through' the Region, then back to 3dsnap to intersection with the Region. Delete Region.
    It works but what a faff!

  • As I do 90° stuff only, I wasn't that aware that all DM mostly works
    strictly perpendicular from Faces too.

  • Tom Foster
    edited September 2019

    You're not the only one - CAD has extinguished architects' drawing-board freedom to work at multiple off-angles, with all the optimised functionality that enabled, not to mention expressivity. A tragedy, loss of a whole dimension of possibilities. Tho actually it's easier in 2D than 3D CAD. Now there's nothing between utilitatian rectilinearity on the one hand, and high-priced flamboyant freeform on the other.

    The door is open to a 3D CAD system that makes precision vector work as easy at off-angles as orthogonal. Rhino etc is not that at all, not precision vector.

    It never used to be as easy, on the drawing board, as orthogonal, but was def do-able, with much trigonometry.
    Especially with the advent of AI (or ML) in CAD, it could become easy like never before.

    But where to begin, to even engage CAD developers in that, when there's 'no demand'? Chicken and egg.

    For example, BIM propogate:
    Take a junction and it will propagate nicely, where 'sameness' is detected.
    Take same junction but with several cases with one or some of the joining elements coming in at various angles. Won't propagate, even tho all cases are topographically identical.
    No one thought to develop the tool based on matching topographies rather than on dumb sameness. Because everyone assumed the 'samenes' that rectilinearity creates.

  • It never used to be as easy, on the drawing board, as orthogonal, ...

    That is my (only) approach.
    In top plan you would just draw a dashed line,
    300 mm in front of your Wall.
    In section you woul draw a piece of helper line,
    300 mm infront of the Wall, similar as before.
    In a second step you would extend your top face line
    until the Intersection, to find edge face's line Position.

    In 3D I just use cubes as I am faster with cubes than lines ...

    I think in Bricscad as well as in Vectorworks, the DYNDIM
    numeric input option directions are more built into Tools,
    while Microstation used it global Accu Draw everywhere.
    Which allowed you to force to any direction in 3D Space.

    My current approach of choice :
    1. create a helper Wall in 300 mm distance, increase height,
    2. select Slab Edge Face andf choose Connet with Nearest.
    3. Bent Edge Face back to Slab's slope by Manipulator.

    Maybe 2.+3. by :
    Long-select Edge Face to put Manipulater center at an uper
    corner, pick Arrow for moving Edge Face over helper Wall,
    picking Arrow again to find an intersection snap where Slab's
    top face is hitting the helper Wall.

  • It never used to be as easy, on the drawing board, as orthogonal, ...

    That is my (only) approach.
    In top plan you would just draw a dashed line,
    300 mm in front of your Wall.
    In section you woul draw a piece of helper line,
    300 mm infront of the Wall, similar as before.
    In a second step you would extend your top face line
    until the Intersection, to find edge face's line Position.

    In 3D I just use cubes as I am faster with cubes than lines ...

    I think in Bricscad as well as in Vectorworks, the DYNDIM
    numeric input option directions are more built into Tools,
    while Microstation used it global Accu Draw everywhere.
    Which allowed you to force to any direction in 3D Space.

    My current approach of choice :
    1. create a helper Wall in 300 mm distance, increase height,
    2. select Slab Edge Face andf choose Connet with Nearest.
    3. Bent Edge Face back to Slab's slope by Manipulator.

    Maybe 2.+3. by :
    Long-select Edge Face to put Manipulater center at an uper
    corner, pick Arrow for moving Edge Face over helper Wall,
    picking Arrow again to find an intersection snap where Slab's
    top face is hitting the helper Wall.

  • Michael Mayer
    edited September 2019

    No, in that case,
    I don't find any other way without helper geometry and
    going back after extending,
    to find an intersection point in a side view.

    BTW,
    in Vectorworks it is even a bit worse to handle but basically
    the same.

    With a Slab with Slope, that has vertical Edge Faces,
    everything works smoothly though.

  • Tom Foster
    edited September 2019

    Thanks v much for all your input michael - over the weekend too!

    In section you woul draw a piece of helper line,
    300 mm infront of the Wall, similar as before.
    In a second step you would extend your top face line
    until the Intersection, to find edge face's line Position.

    Exactly, on the drawing board - helper line in pencil, erased after inking the top line.

    Same in 2D CAD - Offset for the helper, then click-click EXtend and/or TRim the top line to the helper (no snapping reqd), or even box-select STretch the complete eave to snap to the helper, then delete the helper. All done in a flash.
    That trigonometry mentioned, comes in with more complicated geometries, where it's not a simple 300 but maybe an angled projection of same. Or head-hurting worse - but all still do-able.

    In 3D, helper solids or regions take much more setting up, then select>pull through the helper then select-again>push back to 'snap to intersection' with the helper, then delete helper. So many steps and clicks - shouldn't be necessary. But tolerable if it's just the simple case described.

    But as a general tool to incl many more complex/variant cases, to achieve similar ease in 3D as exists in 2D, in pulling multiple-off-angle elements around to accurate distances/intersections/projected alignments,
    seems to me that the direction of Move, Extrude, PushPull, dmMove, Navigator etc operations,
    needs to be optionally separated from the dimensional framework that will define the direction/plane/normal of the distance or alignment that will define the Move.

    Something like an optional subsidiary UCS that can be defined, that works only to set the plane/normal (incl SHIFT to lock snap tracking) of

    • the distance of the Move,
    • or the Move's snap-intersection with plane, edge or point, or with a projection of plane or edge,
    • or the Move's perp-to-ref-plane projected alignment using 'ignore entity snap elevation' and 'entity snap to negative Z'.

    And/or something like setDirection>2Points/Xaxis/Yaxis/Zaxis, as in dmExtrude, to set the dimensional framework.

    AI/ML could make this all predictively easy, like never before on the drawing board on in CAD 2D.

  • Maybe someone who really knows Bricscad has a better solution ?

    I think it would be easy for Bricscad Devs,
    to separate Extrusion Vector from Dimension Vector and do
    the math for you. But that would only work if you know your
    distance. Not when you start from anywhere.
    (2 steps, extend to outer face of wall + extend xx distance)
    Or
    beside Connet to Nearest, create a "Touch to Nearest"
    (By checking all Vertices and Edges against the target)
    but that also needs a helper Target object.

    "Bevel" in 3D Apps can be in any direction. But this is not wanted
    in this case and what happens when you use the old Move Tool,
    destroying the geometry.
    Extrude travels always alon Face Normal.
    Push Pull in VW is even worse, as distance of the pulled Face starts
    from any point you clicked your cursor.
    But in your case you want exactly the upper Edge Face's Edge to
    reach your 300 mm.
    BC has at least Manipulator to start from an upper corner.
    But Manipulator does not snap to the helper object intersection (?)
    (therfore step 1 exceeding, step2 pulling pback to intersection)
    while on the other hand, VW is able to snap to virtual intersections
    of its object live preview !

  • Tom Foster
    edited September 2019

    I think it would be easy for Bricscad Devs, to separate Extrusion Vector from Dimension Vector and do the math for you.

    Good news that you think so. Hope they read this.
    That would then set us up for pulling multipley-off-angle elements around, not only to accurate distances, but also to accurate projected alignments, projected other than in the plane (or normal) of the solid or its edge face.

    beside Connet to Nearest, create a "Touch to Nearest"

    Great idea.

    Extrude travels always alon Face Normal.

    i dmExtrude you can setDirection>2Points/Xaxis/Yaxis/Zaxis - invaluable.

    VW is able to snap to virtual intersections of its object live preview !

    That wd save one tiresome step - select-again>push back to 'snap to intersection' with the helper.

  • This works in shape so hopefully it will in BricsCAD. It still takes a few steps but should be quicker than helper geometry! Use the manipulator to change the edge of your roof slab to vertical, then select that vertical face and use the push-pull tool (the other tools just distort the slab), the push-pull tool will use the vertical face as the basis for measurements but will still stretch the slab in the correct orientation ie. the length of the slab. If need be you can first push-pull that face to line up with your wall edge and then drag it 300mm horizontally. Then use the manipulator to angle the edge face back to the correct angle (place the manipulator on either the top or bottom edge depending on which part needs to be at the 300mm mark.

  • Good news that you think so.

    I just assume this.
    But I have no clue if they would think this could be useful and
    would do that.

    i dmExtrude you can setDirection>2Points/Xaxis/Yaxis/Zaxis - invaluable.

    I meant in standard 3D Apps. Extrude vs Bevel.
    But I mixed that up. You would offset from Face Normal or scale face
    in a second step though. It is more that Bevel pulls the face out and
    creates new side faces while extrude also copies the face to keep the
    bottom closed.

    Great idea.

    I am also not sure if that would be helpful in many but very rare cases (?)

  • This works in shape so hopefully it will in BricsCAD.

    This works well in Bricscad too.
    As long as the needed Face is aligned 90° to world,
    there aren't any problems in manipulating in world axis.

    Therefore my proposal (in case there is a helper)
    Connect to Nearest (makes Face 90°), move/pull
    and rotate Face back after.

    But I also tried to move the sloped face by manipulator,
    by rotating the manipulator from Face Normal to a World Axis.
    But this will fail because when I input the distance in world Axis,
    it will move the Face for that distance - but in Face Normals
    Direction anyway.

  • Tom Foster
    edited September 2019

    Hi Steven - welcome to the argument! Thanks for that alternative.

    Looks like it's confirmed there's no way Brics can do this simple thing without workaround.

    I had a previous go at the present 'problem'
    https://forum.bricsys.com/discussion/34682/extend-to-intersect#latest
    and before that, another kind of case
    https://forum.bricsys.com/discussion/34057/projecting-plan-to-sloping-plane#latest

    I think it would be easy for Bricscad Devs to separate Extrusion Vector from Dimension Vector and do the math for you

    would be the far-reaching general solution, without workarounds, to such off-angle precision manipulations - or at least the solid base for some slick tools.

  • Tom Foster
    edited September 2019

    Oops - the second link above - now corrected to show the "...other kind of case" that Brics can't do without workaround, but could if

    I think it would be easy for Bricscad Devs to separate Extrusion Vector from Dimension Vector and do the math for you

  • Or maybe like this...

  • Michael Mayer
    edited September 2019

    ^

    Maybe someone who really knows Bricscad has a better solution ?

    I knew.
    Now I remember Louis once mentioned both intersection snapping options.

    But would not have expected the temporary snapping indicator and
    tracing line from step 2 working in such cases.
    Great Hans !

  • Tom Foster
    edited September 2019

    Thanks Hans, that is elegant esp the insight into which snaps both 3D and 2D to set, which seems to eliminate one whole step i.e. first pulling the eave edge through the helper Region before pushing back to snap to an already-created physical intersection. With your snaps setup, the snap can happen on the first 'pull'. In previous
    https://forum.bricsys.com/discussion/34682/extend-to-intersect#latest
    I had found that unreliable.

    It still requires the helper though. Not much of a problem in this simple case
    But what about the case in
    https://forum.bricsys.com/discussion/34057/projecting-plan-to-sloping-plane#latest
    and many other cases? Michael has hoped that

    I think it would be easy for Bricscad Devs to separate Extrusion Vector from Dimension Vector and do the math for you

    which would be the far-reaching general solution, without workarounds, to such off-angle precision manipulations - or at least the solid base for some slick tools.

    While you're here Hans, can you say whether that would in fact be possible/easy, and whether any chance the developers might put effort into thinking (consulting?) about such a whole class of off-angle precision manipulations?
    Considering a general case, where there are elements in two or several off-angle (non rectilinear) planes, which need to be moved placed or extended by a system of alignment that lies in some other plane.

    I can't be the only architect, furniture designer etc who wants to do such things, as we did pre-CAD and have managed to continue doing with difficulty in 2D CAD. Note, this has little to do with freeform/curvy stuff like Zaha Hadid's, or Brics' make curtain wall from curves' feature.

  • this has little to do with freeform/curvy stuff

    Well, your personal preference may be to ignore curved faces, but we can't: pushpull operations are applicable to e.g. cylindrical and spherical faces, where they change the radius.
    Anyway, on a planar face the pushpull direction is derived from the normal direction on the pushpulled face.
    By default, the pushpull distance is measured along that direction.

    The difficulty is that the wish is not simply to measure along a different direction, e.g. horizontally or vertically, but there is also the need to select the reference point to start measuring that distance from.

    I mean: the desired distance to move horizontally differs for the various points of the inclined pushpulled face. This is illustrated in the movie I attached: for the first pushpull operation, I selected a point along the lower edge of the inclined face, for the second pushpull example I selected a point along the higher edge of that same face: the selection of that reference point is important - to obtain a certain result, you'll need to specify a different distance depending on the chosen reference point.

    The pushpulled face can have hundreds of points, or none (= spherical face), the reference point really matters, and I don't see a straightforward (or convoluted) rule that could be used to select a certain point that the user 'probably had in mind'.

    Now, we could change a clean and smooth command like pushpull into a complex one and add options to choose a reference point and choose a direction and whatever else. But, would it save time? (it certainly would make the command less straightforward).
    Would it make the operation easier to master? I doubt it: you would need to provide all the required input in some way and that is bound to take a bit of time, because no, I don't think this is an example of an 'easy' operation ;-)

  • Michael Mayer
    edited September 2019

    I just assume this.
    But I have no clue if they would think this could be useful and would do that.

    I am also not sure if that would be helpful in many but very rare cases (?)

    .

    I don't think this is an example of an 'easy' operation ;-)

    I agree.
    And better not with Push Pull.

    But I think it is more something for Manipulator,
    which has a custom starting point.
    AFAIK I tried to realign the Compass to world Axes,
    but my numerical 300 mm input went along Face normal though (?)

    But I also tried to move the sloped face by manipulator,
    by rotating the manipulator from Face Normal to a World Axis.
    But this will fail because when I input the distance in world Axis,
    it will move the Face for that distance - but in Face Normals
    Direction anyway.

    OK, it is not very logical either.
    On one hand expect an option to change input vector direction for
    drawing convenience, while expecting Manipulator to move in
    Face normal direction like PushPull - at least in that case.

    I think it is more logical if Manipulator only moves things in the
    chosen vector direction. Which means destroying the Slab's slope.

  • I am surprised that no one has considered using temporary tracking...

  • Tom Foster
    edited September 2019

    Ah - that's something I haven't mastered but suspected (hoped) might be relevant. Will look into it. Any clues?

  • While experimenting with Hans' method, I found out that you only need the 3D intersection entity snap if you first extend the roof beyond the helper entity. See attached movie.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Click one of the buttons on the top bar to get involved!