RhinoCommon Scale1D


#1

Is there a function that will Scale1D?

I can do the normal scale:

Dim Transform_Scale As Geometry.Transform = Rhino.Geometry.Transform.Scale(New Rhino.Geometry.Point3d(AnchorX, AnchorY, AnchorZ), Size)
       
RhinoDoc.ActiveDoc.Objects.Transform(Guid, Transform_Scale, True)

Transform.Scale vb.Net
(Menno Deij - van Rijswijk) #2

There is:

public static Transform Scale(
	Plane plane,
	double xScaleFactor,
	double yScaleFactor,
	double zScaleFactor
)

http://4.rhino3d.com/5/rhinocommon/html/M_Rhino_Geometry_Transform_Scale.htm


#3

Yeah just found the solution myself. I’m using a point3d and I need to use plane.
Thanks :slight_smile:


#4

Do have a question about plane.

There is aX, bY, cZ and D
So A stands for X location
B for Y location
C for Z location

What does D do?

And why can’t a plane with scaling not be Plane(0,0,0,0) because I want my Center of the plane on 0,0,0


(Dale Fugier) #5

I’m confused. What are you referring to?

Just use Rhino.Geometry.Plane.WorldXY.


(Menno Deij - van Rijswijk) #6

The A, B, C and D are for the plane equation: Ax+By+Cz=D. This defines a plane completely, and takes up only 4 floating point numbers.

A plane can also be defined with an origin (Point3d) and a normal (Vector3d), or by choosing one of the pre-defined planes: WorldXY, WorldXZ or WorldYZ.


#7

@dale Sorry for the bad explanation but I was searching for the answer Menno gave :slight_smile:
@menno Oh the point3d and normal vector3d was the second thing I was searching for xD
I know how to work with vector and point3d origin, but before i just played around with abcd and filled in some numbers till I got the result I wanted xD