[Domanda] Smartparts Primitive Elements BODY als Solid mit Schnittflächen darstellen?

Tags:
  • Smartparts
  • Plugin-Download

Hallo allerseits!

Ich möchte mit den Primitive Elements ein Grundvolumen (BODY) erzeugen, welches durch eine Schnittebene (CUTPLANE) modifiziert wird.
Leider schaffe ich es nicht, dass die entstandenen Schnittkanten sichtbar sind und ich kann in mein Objekt reinschauen, obwohl der BODY-Status auf 1 steht.

Kann mir irgendjemand weiterhelfen?
(Script s.u.)

Danke und lg,
Stefan

ROTZ -90
CUTPLANE 90
RESTORE 1

BASE
VERT 0 , 0 , 0.3 !#1
VERT -1 , 2 , 0 !#2
VERT 1 , 2 , 0 !#3
VERT 0 , 0 , 1 !#4
VERT -1 , 2 , 1 !#5
VERT 1 , 2 , 1 !#6
!Untere Seite
EDGE 1 , 2 , -1 , -1 , 0 !#1
EDGE 2 , 3 , -1 , -1 , 0 !#2
EDGE 3 , 1 , -1 , -1 , 0 !#3
!Obere Seite
EDGE 4 , 5 , 0 , 0 , 0 !#4
EDGE 5 , 6 , 0 , 0 , 0 !#5
EDGE 6 , 4 , 0 , 0 , 0 !#6
!Vertikale
EDGE 1 , 4 , 0 , 0 , 0 !#7
EDGE 2 , 5 , 0 , 0 , 0 !#8
EDGE 3 , 6 , 0 , 0 , 0 !#9

PGON 3 , 0 , 0 , 1 , 2 , 3 !Unter Seite
PGON 3 , 0 , 0 , 4 , 5 , 6 !Obere Seite
!Seitenflächen
PGON 4 , 0 , 0, 1 , 8,-4,-7
PGON 4 , 0 , 0, 2 , 9,-5,-8
PGON 4 , 0 , 0, 3 , 7,-6,-9
BODY 1

CUTEND

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Allegati (1)

Type: image/jpeg
169 scaricato
Size: 15,51 KiB

Show most helpful answer Hide most helpful answer

Hallo,

die untere Fläche hat eine andere Normalen-Ausrichtung als die anderen (zeigt nach außen)
Außerdem sind alle Normale falsch herum!
Folgendes Script läuft:

ROTZ -90
CUTPLANE 90
RESTORE 1

BASE
VERT 0 , 0 , 0.3 !#1
VERT -1 , 2 , 0 !#2
VERT 1 , 2 , 0 !#3
VERT 0 , 0 , 1 !#4
VERT -1 , 2 , 1 !#5
VERT 1 , 2 , 1 !#6
!Untere Seite
EDGE 1 , 2 , -1 , -1 , 0 !#1
EDGE 2 , 3 , -1 , -1 , 0 !#2
EDGE 3 , 1 , -1 , -1 , 0 !#3
!Obere Seite
EDGE 4 , 5 , 0 , 0 , 0 !#4
EDGE 5 , 6 , 0 , 0 , 0 !#5
EDGE 6 , 4 , 0 , 0 , 0 !#6
!Vertikale
EDGE 1 , 4 , 0 , 0 , 0 !#7
EDGE 2 , 5 , 0 , 0 , 0 !#8
EDGE 3 , 6 , 0 , 0 , 0 !#9

PGON 3 , 0 , 0 , -1 , -3 , -2 !Unter Seite -> umlaufsinn invertiert
PGON 3 , 0 , 0 , 4 , 5 , 6 !Obere Seite
!Seitenflächen
PGON 4 , 0 , 0, 1 , 8,-4,-7
PGON 4 , 0 , 0, 2 , 9,-5,-8
PGON 4 , 0 , 0, 3 , 7,-6,-9
BODY 256 !gesamtkörper umgedreht

CUTEND

Grüße Jörg

1 - 10 (11)

Hallo,

die untere Fläche hat eine andere Normalen-Ausrichtung als die anderen (zeigt nach außen)
Außerdem sind alle Normale falsch herum!
Folgendes Script läuft:

ROTZ -90
CUTPLANE 90
RESTORE 1

BASE
VERT 0 , 0 , 0.3 !#1
VERT -1 , 2 , 0 !#2
VERT 1 , 2 , 0 !#3
VERT 0 , 0 , 1 !#4
VERT -1 , 2 , 1 !#5
VERT 1 , 2 , 1 !#6
!Untere Seite
EDGE 1 , 2 , -1 , -1 , 0 !#1
EDGE 2 , 3 , -1 , -1 , 0 !#2
EDGE 3 , 1 , -1 , -1 , 0 !#3
!Obere Seite
EDGE 4 , 5 , 0 , 0 , 0 !#4
EDGE 5 , 6 , 0 , 0 , 0 !#5
EDGE 6 , 4 , 0 , 0 , 0 !#6
!Vertikale
EDGE 1 , 4 , 0 , 0 , 0 !#7
EDGE 2 , 5 , 0 , 0 , 0 !#8
EDGE 3 , 6 , 0 , 0 , 0 !#9

PGON 3 , 0 , 0 , -1 , -3 , -2 !Unter Seite -> umlaufsinn invertiert
PGON 3 , 0 , 0 , 4 , 5 , 6 !Obere Seite
!Seitenflächen
PGON 4 , 0 , 0, 1 , 8,-4,-7
PGON 4 , 0 , 0, 2 , 9,-5,-8
PGON 4 , 0 , 0, 3 , 7,-6,-9
BODY 256 !gesamtkörper umgedreht

CUTEND

Grüße Jörg

Vielen Dank!!!

Die Normalen hatte ich gar nicht auf dem Radar.

Gibt es da irgendeine Regel, wie man sich die Orientierung der Normalen bei PGON merken kann?
Dreifingerregel oder ähnlich?

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Hi,

the polyhedron is defined by a list of 3D points, a list of edges, which refers to the point list (every edge is defined by 2 points references) and a face list which refers the edge list. All reference indices must start with 1.The coordinates of the points are defined in the world coordinate system.Every edge has a direction. The direction goes from the start point of the edge to the end point of the edge.Every face is defined by indices to the edge list. If a face is defined by three points (triangle face), then the face refers three edges. The faces must be defined clock wise.

This examples (see polyhedron.png) describes the topological definition of a cube.

The point list holds 8 points.

Points
P1 = (0,0,0)
p2 = (1000,0,0)
p3 = (1000,1000,0)
p4 = (0,1000,0)
p5 = (0,0,1000)
p6 = (1000,0,1000)
p7 = (1000,1000,1000)
p8 = (0,1000,1000)

The edge list holds 12 edges.

Edges Comments
e1 = (4,1) This edge goes from point 4 to point 1
e2 = (1,2) This edge goes from point 1 to point 2
e3 = (2,3) This edge goes from point 2 to point 3
e4 = (3,4) This edge goes from point 3 to point 4
e5 = (5,8 ) This edge goes from point 5 to point 8
e6 = (8,7) This edge goes from point 8 to point 7
e7 = (7,6) This edge goes from point 7 to point 6
e8 = (6,5) This edge goes from point 6 to point 5
e9 = (1,5) This edge goes from point 1 to point 5
e10 = (2,6) This edge goes from point 2 to point 6
e11 = (3,7) This edge goes from point 3 to point 7
e12 = (4,8 ) This edge goes from point 4 to point 8

The face list holds 6 faces.

Faces Comments
F1 = (1,2,3,4) This face defines the bottom face of the cube. It uses the edges e1, e2, e3, and e4.
F2 = (5,6,7,8 ) This face defines the top face of the cube. It uses the edges e5, e6, e7, and e8
F3 = (-1,12,-5,-9) This face defines the left face of the cube. It uses the edges –e1, e12, -e5, and –e9. Some edges are defined by negative indices. This depends of the traversing of the edges
F4 = (-2,9,- 8,-10) This face defines the front face of the cube. It uses the edges –e2, e9, -e8, and –e10.
F5 = (-3,10,-7,-11) This face defines the right face of the cube. It uses the edges –e3, e10, -e7, and –e11.
F6 = (-4,11,-6,-12) This face defines the back face of the cube. It uses the edges –e4, e11, -e6, and –e12.

To Display the Normals and Point and Edge-Numbers you can use the

Geometry_Tools

Regards.
Jörg

Allegati (2)

Type: image/png
240 scaricato
Size: 166,57 KiB
Type: image/png
209 scaricato
Size: 56,94 KiB

Tausend Dank!

Die Geometry-Tools werde ich bei Gelegenheit mal ausprobieren.
Alleine die Anzeige der Punkt- und Kantennummern hätte mir wohl einiges an Kopfzerbrechen gespart...

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Allegati (1)

Type: image/jpeg
243 scaricato
Size: 733,65 KiB

Hi Nemo, do you have smartparts script for cutplane like attachment? Thank you.

Allegati (1)

Type: image/jpeg
62 scaricato
Size: 132,57 KiB

there is no function to define the CUTPLANE with two heights.
So you have to do some calculation for the cutting angle:

!calc cutting angle
cut_angle = ATAN ( ( h1 - h2 ) / REF_X ) 

!tranlsate and rotate the cutplane to the desired place
TRANSZ h1 
ROTZ 90 
CUTPLANE cut_angle 
RESTORE 2 

! the object to cut
BOX REF_X , REF_Y , REF_Z 

!remove cutting plane
CUTEND

Allegati (2)

Type: image/png
48 scaricato
Size: 26,72 KiB
Type: application/xml
1212 scaricato
Size: 8,85 KiB

Quotato da: Nemo
there is no function to define the CUTPLANE with two heights.
So you have to do some calculation for the cutting angle:
!calc cutting angle
cut_angle = ATAN ( ( h1 - h2 ) / REF_X ) !tranlsate and rotate the cutplane to the desired place
TRANSZ h1
ROTZ 90
CUTPLANE cut_angle
RESTORE 2 ! the object to cut
BOX REF_X , REF_Y , REF_Z !remove cutting plane
CUTEND

Thank you Nemo for information! Goodbye

Hi Nemo, can you send me script for change 2d rapresentation like attachment? (2d rapresentation with POLY2 if is possible) Thank you.

Allegati (1)

Type: image/jpeg
51 scaricato
Size: 170,72 KiB

The next sketch on toilet-paper would be ignored

You need a proper sketchpad and a new pencil!

Allegati (2)

Type: image/png
39 scaricato
Size: 22,35 KiB
Type: application/xml
1185 scaricato
Size: 7,47 KiB
1 - 10 (11)