MoI discussion forum
MoI discussion forum

Full Version: how to determine angle between 2 planes

Show messages: All  1-5  6-9

From: pressure (PEER)
5 Nov   [#6] In reply to [#4]
Hi Dan,

Re:
> Is it possible to snap a line segment starting at and perpendicular to a
> point on the helper line and ending at another point on the surface of
> one plane, then beginning at the same point on the helper line, snap a
> line segment also perpendicular to the helper line to another point on
> the surface of the second plane?

That will work if the planes are joined along an edge. Then you can snap perpendicular to the edge. Both Straight Snap and Object Snap need to be turned on. Doesn't work for 2 disconnected planes and an intersection line though.



Re:
> Also is it possible to use DIM angle command to derive the measurement
> of this angle?

No the Dim Angle won't end up on the correct plane. You'll need to align the construction plane coordinate system with the edge and one of the object planes using Cplane. Depending on the situation you might need to draw a helper line perpendicular to the edge to have something to snap the Cplane orientation picker to.

http://moi3d.com/4.0/docs/moi_command_reference11.htm#orientationpicker

Starting out with neither plane aligned with world coordinates:



Activate the Cplane command:



Align the orientation picker to the edge and one of the planes:



Now the Dim angle tool can be used in one of the ortho views:



- Peer

Image Attachments:
picker 1st point.png 


From: bemfarmer
5 Nov   [#7]
The angle between two planes is determined by the angle between the normals of the two planes.

https://www.cuemath.com/algebra/angle-between-two-planes/

https://byjus.com/maths/angle-between-two-planes/

I do not know which MoI commands would yield the surface normal of a plane.
Some clues here:
https://moi3d.com/forum/messages.php?webtag=MOI&msg=9581.321&highlight=yes

- Brian
From: Michael Gibson
5 Nov   [#8] In reply to [#7]
Here's a script that can be pasted into a shortcut key, preselect 2 planar faces before running it. It will report the angle between the plane normals.

code:
script: var faces = moi.geometryDatabase.getSelectedObjects().getFaces();
if ( faces.length == 2 && faces.item(0).isPlanar && faces.item(1).isPlanar )
{
	var A = faces.item(0);
	var B = faces.item(1);
	nA = A.planarFrame.zaxis;
	nB = B.planarFrame.zaxis;

	var dot = (nA.x * nB.x) + (nA.y * nB.y) + (nA.z * nB.z);
	var angle_radians = Math.acos( dot );
	var angle_degrees = angle_radians * 180.0 / Math.PI;

	moi.ui.alert( moi.ui.formatNumber(angle_degrees) );
}
else
{
	moi.ui.alert( 'error - 2 planes not selected' );
}


- Michael
From: Frenchy Pilou (PILOU)
5 Nov   [#9]
Cool....

"Confirmation of my method "Line Line" :)

Plan A Plan B
Select All
Line Line from Plan A at the origine (2 Line Line)
A Triangle (with 2 rectangles 3 pts) "Line Line" to an axe
Rotation to Plane
You have the Angle!




Show messages: All  1-5  6-9