he tool to use...though not quiet satisfying...but I will make some 3d prints now to test it in reality...
I think it could be useful to change the directions of the normals, since it seems like, it is the normals, which control the direction of the offset, - but I don't know how to do that. I tried in 3d max, but was not quiet able to control it. I want all normals to point towards the center of the objects/ e.g. Y=0 and X=0 from their position at the Z axis... but how to do that...?
Thanks!
#1 is without
#2 is mesh offset (baked)
#3 is mesh thicken
…
d so 36 renders.
The Gray animation controller output a norm which is the time normalized, I used it to move point on Z axis, so to move up the color.
You will have to plug the texure adress to a Gray Bitmap that is pluged to Gray Diffuse then to Gray material ...
Et voilà !
Not so hard
…
ame as the example: http://vimeo.com/25182853
But with my script, I canot align the center of gravity with the center of buoyancy longitudinally.
What I would like to do is to have 3 inputs:
- Heel angle (Degrees)
- Displacement (Tons)
- Center of gravity position of the ship (X, Y, Z)
And the script acts on the hull depth (like now) AND on the trim angle, so the GC and BC can be aliged longitudinally.
Anobody has an idea ?
Simon
…
decision 1, the point would have XYZ coordinates of (1,0,0)
If the user selects decision 2, the point would have XYZ coordinates of (2,3,0)
If the user selects decision 3, the point would have XYZ coordinates of (0,4,0)
If the user selects decision 4, the point would have XYZ coordinates of (4,0,0)
The following is a picture of how I image the algorithm to be like.
What I'm looking for is the tool that would enable me to do this.
Can you help me with that?
…
s the data itself
planeRec = rc.Geometry.Plane.WorldXY startPt = rc.Geometry.Point3d((width/len(datain))*numseg, 0, 0) # The point where that segment of the bar graph starts textBasePts.append(rc.Geometry.Point3d((width/len(datain))*numseg+(width/len(datain))/2, 0,startPt.Z-width/100)) # The points where the hour of the bar graph will be placed labelPts.append(rc.Geometry.Point3d((width/len(datain))*numseg+(width/len(datain))/2, 0,startPt.Z+(iscale*i)+width/100))
# Create the points of the mesh of the bars themselves
facePt1 = rc.Geometry.Point3d(startPt.X + width/240, startPt.Y, startPt.Z) facePt2 = rc.Geometry.Point3d(startPt.X+ width*0.0375, startPt.Y, startPt.Z) facePt3 = rc.Geometry.Point3d(startPt.X+ width/240, startPt.Y, startPt.Z+(iscale*i)) facePt4 = rc.Geometry.Point3d(startPt.X+ width*0.0375, startPt.Y, startPt.Z+(iscale*i)) # Create the values of each bar to display later as labels ontop of the bar graphs labels.append(round(iscale*i,2)) # Create the mesh of the bars themselves barMesh = rc.Geometry.Mesh() for point in [facePt1, facePt2, facePt3, facePt4]: barMesh.Vertices.Add(point) barMesh.Faces.AddFace(0, 1, 3, 2) # Color the mesh faces of the bars themselves barMesh.VertexColors.CreateMonotoneMesh(System.Drawing.Color.Blue) dataMeshes.append(barMesh)
…
Added by Anton Szilasi at 7:47pm on January 13, 2015
JILLA
-and when i look at the output values for SPRINGS and REJILLA, both
are modified by the operator!
so my question is:
how can i introduce a list in vb and keep it non-modified (while i
operate with another one created in vb that has inherited its values)
the script:
thanks a lot!
jorge
Sub RunScript(ByVal puntos As List(Of On3dPoint), ByVal springs As List
(Of On3dPoint), ByVal k As Double, ByVal m As Double, ByVal iter As
Integer, ByVal num_f As Integer, ByVal num_c As Integer)
Dim i As Int16
Dim p0 As New On3dPoint()
Dim cont As Int16
Dim num_i As Integer
num_i = num_f + 2
Dim num_j As Integer
num_j = num_c + 2
Dim max_i As Integer
max_i = num_f - 1
Dim max_j As Integer
max_j = num_c - 1
Dim j As Integer
Dim p_max As Integer
Dim p_list As New List(Of On3dPoint)
p_max = springs.Count() - (num_f + num_c)
Dim rejilla As New List(Of On3dPoint)
For i = num_j To p_max Step num_j - 1
For j = i To i + num_c - 2
rejilla.add(springs(j))
Next
Next
While cont < iter
For i = 0 To rejilla.count() - 1
rejilla(i).x += 3
rejilla(i).y += 4
rejilla(i).z += 6
print("posicion " & rejilla(i).x & " " & rejilla(i).y & " " &
rejilla(i).z)
Next
cont += 1
End While
SP = springs
RJ = rejilla
PT = puntos…
JILLA
-and when i look at the output values for SPRINGS and REJILLA, both
are modified by the operator!
so my question is:
how can i introduce a list in vb and keep it non-modified (while i
operate with another one created in vb that has inherited its values)
the script:
thanks a lot!
jorge
Sub RunScript(ByVal puntos As List(Of On3dPoint), ByVal springs As List
(Of On3dPoint), ByVal k As Double, ByVal m As Double, ByVal iter As
Integer, ByVal num_f As Integer, ByVal num_c As Integer)
Dim i As Int16
Dim p0 As New On3dPoint()
Dim cont As Int16
Dim num_i As Integer
num_i = num_f + 2
Dim num_j As Integer
num_j = num_c + 2
Dim max_i As Integer
max_i = num_f - 1
Dim max_j As Integer
max_j = num_c - 1
Dim j As Integer
Dim p_max As Integer
Dim p_list As New List(Of On3dPoint)
p_max = springs.Count() - (num_f + num_c)
Dim rejilla As New List(Of On3dPoint)
For i = num_j To p_max Step num_j - 1
For j = i To i + num_c - 2
rejilla.add(springs(j))
Next
Next
While cont < iter
For i = 0 To rejilla.count() - 1
rejilla(i).x += 3
rejilla(i).y += 4
rejilla(i).z += 6
print("posicion " & rejilla(i).x & " " & rejilla(i).y & " " &
rejilla(i).z)
Next
cont += 1
End While
SP = springs
RJ = rejilla
PT = puntos…
rves that "intersect" a plane placed on Z=6 above the first circle. I did this to have a collection of points from which to choose 3 and make a 3pt-circle.
[this second circle "fits" the catenary at a certain height, that's what I wanted to do]
Maybe it's obtuse but anyway that's the way I managed it.. I then used the "intersection" of the top circle with the original catenary curve to "split" the catenary into 2 parts, I then "Rail Revolution" the first part of it around the axis of the original circle, using the circle as a "rail", and I get a Brep surface.
It is a "open brep" surface, so now i'm having the problem of managing it if I want to subdivide it with Isotrim or other commands to control the number of subdivisions.
Is there a better way to go about this?
I am attaching the file.
About the image, I checked my code about 10 times to understand why it has those "lines" every 1 meter in the Z, and they already appear in the "rail revolution" component when it is visible, but in the "brep components" I can see the individual points along the rail curve.
I think this is what might be causing the brep to surface problem, but for the life of me I can't understand why the rail is not smooth and is "divided" into the 7 points instead of just one smooth revolution...
Thanks! :)
…
s to load from file (from 0 to 1)
So this post is about masks.
Rhino Point Clouds can store information such as : location of a point, it's color and normal vector. It is common to store intensity values, but it is not supported in Rhino.
Mask characters :
x y z - location
u v w - normal
r g b - color
a - intensity
Let's say that your file is formatted such as :
10.000 ; 12.000 ; 20.053 ; 0.243
which means it stores location and intensity values.
A proper mask will inform Load Cloud component how to read those values
x;y;z;a
The first non-alphabetic character in the mask is automatically interpreted as the separator.
Same masks work with Save Cloud component. Note that it has D input which when set to True will make it surround all the values in double-quotes.
"10.000" ; "12.000" ; "20.053" ; "0.243"
Cloud Load doesn't care about those double-quotes, it just ignores them and proceeds to read the values without them.…