VS:GetView: Difference between revisions
Jump to navigation
Jump to search
m (1 revision) |
(hint for top/plan view) |
||
Line 46: | Line 46: | ||
----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ||
<remark> | <remark> | ||
Returns information about the current 3D view. | Returns information about the current 3D view.<br /> | ||
All parameters are for output: | All parameters are for output: | ||
xAngleR, the angle the view is rotated away from the x-axis | :xAngleR, the angle the view is rotated away from the x-axis | ||
yAngleR, the angle the view is rotated away from the y-axis | :yAngleR, the angle the view is rotated away from the y-axis | ||
zAngleR, the angle the view is rotated away from the z-axis | :zAngleR, the angle the view is rotated away from the z-axis | ||
offsetX, Y, and Z, the center of the view | :offsetX, Y, and Z, the center of the view | ||
(MaKro, 2016.10.18):<br /> | |||
Use [[VS:GetProjection|GetProjection]](ActLayer) == 6 and xyzAngleR == 0 to check if the view is Top/Plan | |||
</remark> | </remark> |
Latest revision as of 16:08, 18 October 2016
.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix
Description
Returns information about the current 3D view.
PROCEDURE GetView(
VAR xAngleR :REAL;
VAR yAngleR :REAL;
VAR zAngleR :REAL;
VAR offsetX,offsetY,offsetZ :REAL);
def vs.GetView(): return (xAngleR, yAngelR, zAngleR, offset)
Parameters
xAngleR REAL Returns X rotation angle of view. yAngleR REAL Returns Y rotation angle of view. zAngleR REAL Returns Z rotation angle of view. offset REAL Center of view rotation.
Remarks
Returns information about the current 3D view.
All parameters are for output:
- xAngleR, the angle the view is rotated away from the x-axis
- yAngleR, the angle the view is rotated away from the y-axis
- zAngleR, the angle the view is rotated away from the z-axis
- offsetX, Y, and Z, the center of the view
(MaKro, 2016.10.18):
Use GetProjection(ActLayer) == 6 and xyzAngleR == 0 to check if the view is Top/Plan
Example
VectorScript
PROCEDURE Example; VAR xAngleR, yAngleR, zAngleR, offsetX, offsetY, offsetZ :REAL; BEGIN GetView(xAngleR, yAngleR, zAngleR, offsetX, offsetY, offsetZ); Message(xAngleR, ' ', yAngleR, ' ', zAngleR, ' ', offsetX, ' ', offsetY, ' ', offsetZ); END; RUN(Example);
Another example:
PROCEDURE Example; VAR xAngleR, yAngleR, zAngleR, offsetX, offsetY, offsetZ :REAL; viewNameStr :STRING; BEGIN GetView(xAngleR, yAngleR, zAngleR, offsetX, offsetY, offsetZ); IF (xAngleR = 0) & (yAngleR = 0) & (zAngleR = 0) THEN viewNameStr := 'Top or Top/Plan' ELSE IF (xAngleR = -90) & (yAngleR = 0) & (zAngleR = 0) THEN viewNameStr := 'Front' ELSE IF (xAngleR = -90) & (yAngleR = -90) & (zAngleR = 0) THEN viewNameStr := 'Right' ELSE IF (xAngleR = 180) & (yAngleR = 0) & (zAngleR = 0) THEN viewNameStr := 'Bottom' ELSE IF (xAngleR = 90) & (yAngleR = 0) & (zAngleR = 180) THEN viewNameStr := 'Back' ELSE IF (xAngleR = -90) & (yAngleR = 90) & (zAngleR = 0) THEN viewNameStr := 'Left' ELSE IF (xAngleR = -45) & Eq(yAngleR, -35, 1) & (zAngleR = -30) THEN viewNameStr := 'Right Isometric' ELSE IF (xAngleR = -45) & Eq(yAngleR, 35, 1) & (zAngleR = 30) THEN viewNameStr := 'Left Isometric' ELSE IF (xAngleR = 45) & Eq(yAngleR, -35, 1) & (zAngleR = -150) THEN viewNameStr := 'Right Rear Isometric' ELSE IF (xAngleR = 45) & Eq(yAngleR, 35, 1) & (zAngleR = 150) THEN viewNameStr := 'Left Rear Isometric' ELSE IF (xAngleR = -135) & Eq(yAngleR, -35, 1) & (zAngleR = 30) THEN viewNameStr := 'Lower Right Isometric' ELSE IF (xAngleR = -135) & Eq(yAngleR, 35, 1) & (zAngleR = -30) THEN viewNameStr := 'Lower Left Isometric' ELSE IF (xAngleR = 135) & Eq(yAngleR, -35, 1) & (zAngleR = 150) THEN viewNameStr := 'Lower Right Rear Isometric' ELSE IF (xAngleR = 135) & Eq(yAngleR, 35, 1) & (zAngleR = -150) THEN viewNameStr := 'Lower Left Rear Isometric'; Message( xAngleR, ' ', yAngleR, ' ', zAngleR, ' ', offsetX, ' ', offsetY, ' ', offsetZ, ' view name: ', viewNameStr); END; RUN(Example);
Python
def Example(): xAngleR, yAngleR, zAngleR, offsetPt = vs.GetView() vs.Message(xAngleR, ' ', yAngleR, ' ', zAngleR, ' ', offsetPt[0], ' ', offsetPt[1], ' ', offsetPt[2]) Example()
Version
Availability: from VectorWorks8.0