Author Topic: Plane intersect?  (Read 239 times)

Shipmodeler

  • Full Member
  • ***
  • Posts: 198
    • Flagship Models Inc.
Plane intersect?
« on: August 27, 2017, 11:36:21 PM »
I am currently using DC3D v 23.  Is there a technique, or series of steps to set a point where a perpendicular line intersects with a plane?  I can't find a command that will do this.  I'm trying to develop a technique to build a model by stacking layers 1/16" thick for a laser cutter much the same way a 3D printer layers plastic to build a model.

Shipmodeler
"A man can never say he has truly lived until he has built a model ship"
Ronald Reagan

bdeck

  • Hero Member
  • *****
  • Posts: 807
Re: Plane intersect?
« Reply #1 on: August 28, 2017, 12:39:31 AM »
To draw a perpendicular line terminating on a plane,  presuming the plane is not already orthogonal:

1) view/working plane/set working plane   (set 3 points on the edge of existing plane)

2) Select the existing plane

3) Window/DesignCad Tiles (to make plane orthogonal in all views)

4) In top view, Orthagonal Duplicate the plane any arbitrary distance in the Z direction. (N, click anywhere, shift-left-click any vertical distance) (assuming you use point relative mode in the Duplicate command, or use the N macro)

5) Draw a line from point 1 of the first plane to point 1 of the second plane.

6) Erase the second plane

7) view/working plane/reset working plane

8 ) Move new line so that its first end is on your desired point.

9) In point select mode, shift-left-click (three-dot-grab) second end of line, then gravity (RMB) any point on the plane to extend line to plane.

Edit 09/07/17     Alternatively,  Steps 2 - 6 above may be replaced with the following step 2.

2) Execute vector command (v key). 
    A    Set first vector point on any point of the existing plane (RMB).

    B    Set the second point any arbitrary distance L
          in the Z direction using the Point Relative command. e.g., if L=10: 
              hyphen, LAST POINT MODE, x=0, y=0, z=10,  Enter

    C    Hit Enter again to end the v command at 2 points.

Result is a line normal to the plane.


bd
« Last Edit: September 06, 2017, 05:30:18 PM by bdeck »

Bob P

  • Hero Member
  • *****
  • Posts: 1149
    • Era Replica Automobiles
Re: Plane intersect?
« Reply #2 on: August 28, 2017, 06:51:47 AM »
Won't point>lineplane do what he wants? It's a command-within-a-command to set points while drawing an entity. I'd use it to create a construction line at the plane intersection. Then I would move the current end of the perpendicular to that construction-line endpoint.
Even before I did that, I might use the Info Box to make the perpendicular line a certain length and use segment to break it up into even lengths.

Dr PR

  • Hero Member
  • *****
  • Posts: 5417
Re: Plane intersect?
« Reply #3 on: August 28, 2017, 09:57:46 AM »
DesignCAD does not have a function to draw a line perpendicular to a plane (a great shortcoming, in my opinion), but the "Point/Plane Snap" (F7) command moves the cursor the shortest distance to a point on the nearest Plane. If you start the "Line" (V) function, set a point above a Plane and press F7 the cursor will move to the closest point on the Plane and set a second point. Then end the Line function and you have a perpendicular line to the Plane.

There is a catch. The first point MUST be above the area of the Plane. If it is off to the side the F7 function will just snap to the closest point along the edge of the Plane. The resulting line will be perpendicular to the edge of the Plane but not to the surface of the plane. For me this is an extremely annoying shortcoming, because finding the perpendicular to the plane surface is FAR more important than finding a perpendicular to the edge of the plane. Using "Plane Snap" as described above will generate a line that is not perpendicular to the plane if you aren't careful!

I wish we had an option to cause "Plane Snap" to always set a point in the geometric plane of a surface (Plane), even if the point is outside the area of the Plane. Or a separate function to draw a line perpendicular to the surface of a Plane.

****

So, if you have a bunch of parallel planes you want to stack you:

1. Find the perpendicular to one plane and set the length to the spacing you want between the planes.

2. Then put the perpendicular at a reference point on the first plane.

3. Find the reference point on the second plane, select the plane and set the handle at the reference, and move the plane to the end of the perpendicular to set the orientation and spacing for the second plane.

4. Move the perpendicular to the reference point on the second plane.

5. Repeat 3 and 4 for each plane you want to stack above the others.

Phil

DesignCAD user since 1987

Shipmodeler

  • Full Member
  • ***
  • Posts: 198
    • Flagship Models Inc.
Re: Plane intersect?
« Reply #4 on: August 28, 2017, 10:09:08 AM »
Dr. PR,

I know you are familiar with ship models and plans.  I am wanting to construct the hull contours using the "bread and butter" method.  What I PLAN to do is make a cutout, let's say of the main deck.  Move 1/16 of an inch down then make the next perimeter drawing and so on.  Does this help?
The goal is to develop a system by which I can construct rough shaped ship models.
« Last Edit: August 28, 2017, 10:12:37 AM by Shipmodeler »
"A man can never say he has truly lived until he has built a model ship"
Ronald Reagan

Bob P

  • Hero Member
  • *****
  • Posts: 1149
    • Era Replica Automobiles
Re: Plane intersect?
« Reply #5 on: August 28, 2017, 10:52:00 AM »
A macro to draw a perpendicular from a plane:

Code: [Select]
'Program: pfp.d3m (perpendicular line from plane)
'The line will be drawn from the first point set
'Reversing the order of the points will reverse the direction of the perpendicular.

Dim X(3), Y(3), Z(3)

user:
SetPoint "Set 3 points to define the plane: " 3
If Sys(1) < 3 Then goto user

For i = 1 To 3
PointVal X(i) Y(i) Z(i) i
Next i
Sys(1) = 0


precision 15
input "enter magnitude (length) of the line: ", rz$
r=val(rz$)

if r = 0 then
message "error: no line length input provided."
end
end if

sys(80)=0

'draw a line at 0,0,0 of specified length
>line
{
<Pointxyz [0, 0, 0]
<Pointxyz [0, r, 0]
}

'select the line just drawn
getattr sys(9), type, select
putattr sys(9), type, 1

>SetHandle
{
<Pointxyz [0, 0, 0]
<Pointxyz [1, 0, 0]
<Pointxyz [0, 0, 1]
}

>move
{
<Pointxyz [X(1), Y(1), Z(1)]
<Pointxyz [X(2), Y(2), Z(2)]
<Pointxyz [X(3), Y(3), Z(3)]
}

sys(80)=0
sys(1)=0
End

bdeck

  • Hero Member
  • *****
  • Posts: 807
Re: Plane intersect?
« Reply #6 on: August 28, 2017, 01:34:16 PM »
With F7, even if you draw the line using only the keyboard (v, ' [Last Cursor Position, 0,0,0, Enter], F7, Enter), you still risk an error if a slight vibration causes your mouse to move during the process.  (This is the only use I have ever found for "Last Cursor Position" in the Point Relative dialog, and it is still unreliable.)

BobP's macro above is the safest way to draw a line perpendicular to a plane of arbitrary orientation. (alternatively you could perform the steps of his macro manually, or use the steps I outlined in a prior post)

Since it appears that your decks are horizontal, then a simple point-relative Duplicate should suffice to create a parallel copy of the deck plane.

If you want to use Contour Line to create horizontal contours of an existing grid then, for each successive contour,  use Point Relative [0, 1/16, 0] to set the first point. Then set any two non linear points having the same Y value (Use shift-leftclick in the top view).  No need to draw a line.  (Do Not Use "Last Cursor Position" in the point relative dialog.)
« Last Edit: August 29, 2017, 11:13:25 AM by bdeck »

DrollTroll

  • Kindly Curmudgeon
  • Administrator
  • *****
  • Posts: 4145
Re: Plane intersect?
« Reply #7 on: August 28, 2017, 04:36:50 PM »
If I understand you correctly, Shipmodeler, you already have both the line and the plane(s) in place.

What you want to find is the point where the line intersects a specific plane, right?
25 years with DesignCAD

Dr PR

  • Hero Member
  • *****
  • Posts: 5417
Re: Plane intersect?
« Reply #8 on: August 28, 2017, 09:14:40 PM »
Shipmodeler,

I figured you were talking about "bread and butter."

You can use F7 to get a perpendicular to the plane of the deck - assuming it is a plane and not a hyperbola, as are most decks on modern ships. In your case, for the bread and butter construction you can create each plank level in the XZ or XY plane (your preference) so they are all horizontal. Then it is a simple task of stacking them at a known spacing relative to a common reference point.

If you create a 3D model of a hull you can use "Draw/Lines/Contour Line" to draw water lines at various elevations. These would be the outlines of each plank level in a bread and butter model.

Phil
DesignCAD user since 1987

Shipmodeler

  • Full Member
  • ***
  • Posts: 198
    • Flagship Models Inc.
Re: Plane intersect?
« Reply #9 on: August 29, 2017, 10:21:41 AM »
Thanks much Dr PR.  This first hull is very simple so that I can develop a working technique for future projects.  All the hull lines are small er versions than the upper deck progressing at a consistent angle.  Now the next trick will be adapt DC3D files to the new software included with the machine, which should be no problem as it will convert virtually any type of file.

Thanks to everyone for your suggestions.
« Last Edit: August 29, 2017, 03:33:30 PM by Shipmodeler »
"A man can never say he has truly lived until he has built a model ship"
Ronald Reagan

Shipmodeler

  • Full Member
  • ***
  • Posts: 198
    • Flagship Models Inc.
Re: Plane intersect?
« Reply #10 on: September 03, 2017, 07:14:46 PM »
I found a program as freeware called 123Design by Autodesk.  This program will import 3D files, slice them into useable layers while arranging the pieces on the sheet material loaded into the 3D cutter for maximum use of the material.  On top of that, it also labels each piece by number in stacking order.  Perfect!

Shipmodeler
"A man can never say he has truly lived until he has built a model ship"
Ronald Reagan

Bob P

  • Hero Member
  • *****
  • Posts: 1149
    • Era Replica Automobiles
Re: Plane intersect?
« Reply #11 on: September 04, 2017, 04:21:24 AM »
I think that the program you're talking about is 123D Design.

http://autodesk-123d-design.en.lo4d.com/

rccon

  • Full Member
  • ***
  • Posts: 108
Re: Plane intersect?
« Reply #12 on: September 05, 2017, 03:58:55 PM »
I like to make a little box, set three handles and snap it onto the plan, then make a line along one of it's edges and move the box out of the way. If I had to so his all the time I'd probably try Bob P's macro. BTW, does anyone know a way to make the shift, ctrl, and ctrl+shift keys lock onto the x, y, and z axes consistently instead of changing with the view?

Lar

  • Hero Member
  • *****
  • Posts: 2513
Re: Plane intersect?
« Reply #13 on: September 12, 2017, 05:06:29 PM »


BTW, does anyone know a way to make the shift, ctrl, and ctrl+shift keys lock onto the x, y, and z axes consistently instead of changing with the view?
Not currently possible. I was longing for this since that feature-combo was introduced.


Best advice I can offer is you set up 3 dedicated non-ortho views, one predominantly XY, another XZ and the third YZ. This way you can move freely in each plane by working in the relative window, without having to hold any keys (but watch out... there are some gray zones where the cursor moves along 1 axis instead of 2).


I don't do this myself. What I do is orbit (Y) the view as necessary, since you can orbit in the middle of a command. Trick is to set a focal point whenever you do a major view change, which you can also do in the middle of a command (View toolbox) (but I have a macro for this so I have to do it between commands).


Lar
ps: By the way...
I like to make a little box, set three handles and snap it onto the plan, then make a line along one of it's edges and move the box out of the way.
I use this trick too...
« Last Edit: September 12, 2017, 05:09:29 PM by Lar »