3d solid - Slice Command

I'm having trouble getting the desired results using the slice command when slicing a 3d solid.

In AutoCad you can select two points defining where you want the slice. This automatically sets a slicing plane vertical to the screen (i.e plan view, side view, etc.) then pressing enter slices the object.

In Bricscad this two point slice method only seems to work properly while in the WCS (slicing along the z-axis).  If I try slicing using two points by changing the view (i.e. side view) or by rotating the UCS Z axis I do not get a proper slice of my solid. 

There doesn't seem to be any rhyme or reason to how Bricscad determines slice plane from two points (as AutoCad does) in anything but the WCS and it's driving me nuts... 

Any help would be appreciated.

Comments

  •  I thought the slice command was very confusing too.  Still haven't gotten the 3 point, or z axis slice to work correctly.  Must be something I don't understand.  However, I have had good luck selecting slicing using a plane "XY", "YZ" or "ZX"  or an object like a circle.    Keep an eye on the UCS icon, and it will tell you whether to use XY, YZ or ZX.  Then all you do is pick a point, any point on that plane.    I frequently use an infinite ray, and the "nearest" snap.   




  •  I thought the slice command was very confusing too.  Still haven't gotten the 3 point, or z axis slice to work correctly.  Must be something I don't understand.  However, I have had good luck selecting slicing using a plane "XY", "YZ" or "ZX"  or an object like a circle.    Keep an eye on the UCS icon, and it will tell you whether to use XY, YZ or ZX.  Then all you do is pick a point, any point on that plane.    I frequently use an infinite ray, and the "nearest" snap.   


    Yes - I can get XY, YZ, ZX to work fine but typically need to slice at an angle different than 90 degrees to the UCS.  This is why the two point slice works so well (in AutoCad).  3 point slice works fine for me but cant seem to get Z-axis slice right either.

    I guess I'm not the only on having trouble with slice in bricscad.  I'm mainly interested in getting the 2 point slice working as it does in AutoCad and hope there is something we're missing because this is a command I use quite a bit.
  • Maybe this helps:
    [code](defun c:2PSlice ( / pt1 pt2 ss)
      (if
        (and
          (setq ss (ssget '((0 . "3DSOLID"))))
          (setq pt1 (getpoint "\nFirst point: "))
          (setq pt2 (getpoint pt1 "\nSecond point: "))
          (setq pt1 (list (car pt1) (cadr pt1)))
          (setq pt2 (list (car pt2) (cadr pt2)))
          (not (equal pt1 pt2 1e-6))
        )
        (command
          "_.slice"
          ss
          ""
          "3points"
          "_none" pt1
          "_none" pt2
          "_none" (append pt1 '(1.0))
        )
        (while (/= (getvar cmdactive) 0) (command "\\"))
      )
      (princ)
    )[/code]
  •  I had noticed back in the early stages of V14.2 that there was a bug with the slice command, if you slice, picking your three points to define the slicing plane when the ucs is set to something other than world, almost all of the time I was receiving weird results (if I remember correctly, the third point would always end up way out in space somewhere).  The support request was 40135, and as I look back now is waiting for me to send in a sample drawing where the error was created, however I haven't done much 3D since then, maybe if I have time I will see if I can get it to happen again.
  •  Everyone has had problems with slice for some while now. For myself, I always use slice with 3-points. The problem for me is "3-point" is the default when you invoke the command. If you accept the default and start picking, it messes up every time. Don't know why, don't much care. What I've found to work every time is to invoke the command & then explicitly choose the "3-point" as the method, then start picking your 3 points. It always works & the UCS has nothing to do with it.
    Cheers,
    Greg
  • @ Greg:
    The command prompts are a bit confusing. You have to press enter to accept the default '3points' option. I have used the command a couple of times today and I tend to forget that.
  • Maybe this helps:
    (defun c:2PSlice ( / pt1 pt2 ss)  (if    (and      (setq ss (ssget '((0 . "3DSOLID"))))      (setq pt1 (getpoint "\nFirst point: "))      (setq pt2 (getpoint pt1 "\nSecond point: "))      (setq pt1 (list (car pt1) (cadr pt1)))      (setq pt2 (list (car pt2) (cadr pt2)))      (not (equal pt1 pt2 1e-6))    )    (command      "_.slice"      ss      ""      "3points"      "_none" pt1      "_none" pt2      "_none" (append pt1 '(1.0))    )    (while (/= (getvar cmdactive) 0) (command "\\"))  )  (princ))    



    Hello Roy - Thank You for the code but honestly I don't know much about writing Lisp (other than loading and running them).  I assume this code can be added to a lisp routine then the two point slice would work properly?  Can you give me some direction on how I would implement this if it's not too difficult?
    Thank You
    Chris
  • @ Christopher:
    Just copy the code in Notepad and save with the .lsp extension. Load the file and enter 2PSlice to start the Lisp command.
  • @Roy - Thank You!!!! - your 2PSlice Works wonderfully. (as the slice command should work)

    I do quite a bit of 3d work and this was one thing driving me crazy.  That and not having an "isolate" command (as in AutoCad) but I have a (invis.lisp) routine for it as well.  Now I pretty much have the functionality of autocad with the benefits of direct modeling in bricscad.  Hope these two things will be implemented into Bricscad in the future.

    Thanks Again!
    Chris
This discussion has been closed.