abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

verdeckte linie im project2

Anonymous
Nicht anwendbar
Hallo,
ich habe ein 3D-Skript erstellt, in dem ich Regalböden mit einem prism_ und den Statuswerten 79 erzeugt habe. Wenn ich nur den untersten Boden einschalte und das 2D Symbol über project2 3,270,3 in Farbe erstelle ist alles o.k. Wenn ich aber mehrere Böden übereinander habe verschluckt ER in der 2D Darstellung eine Seitenlinie. Woher kann das kommen? :confused: :confused:
Dorothee
20 ANTWORTEN 20
zzyzx
Newcomer
hi dorothee,
bei den statuswerten gibts immer wieder merkwürdige phänomene, v.a. in bezug auf sichtbarkeit von kantenlinien.

das musst du entweder
- akzeptieren,
- ignorieren, oderdie linie im 2d skript
- programmieren
:yeah: :winken:
Anonymous
Nicht anwendbar
Vielen Dank, habe schon an mir gezweifelt 😄
Anonymous
Nicht anwendbar
Mal abgesehen davon, daß native 2D-Darstellung immer besser als PROJECT2 ist, kannst du mal den Code des Regalbodens posten? Denn Verschlucken von Linien hatte ich babei bisher nicht.

EDIT: Warum PROJECT2 3,270,3?

[ 15. Juli 2005, 12:11: Beitrag editiert von: Ove Bodj ]
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> EDIT: Warum PROJECT2 3,270,3? Weil ich die Darstellung farbig haben möchte. Schicke Dir das Objekt mal per PN. Vielleicht findest Du ja was.
Dorothee
Anonymous
Nicht anwendbar
Der Statuswert 79 ergibt sich daraus, daß Bit 0-3 und Bit 6 gesetzt sind (1+2+4+8+64). Bit 0 bis 2 gibt die Sichtbarkeit der Kante an, Bit 3 das der Seitenflächen und Bit 6 ..., ja Bit 6 schaltet die Kantendarstellung erstmal aus und läßt dann aber AC die Sichtbarkeit automatisch ermitteln. Das ist für die korrekte Darstellung von Krümmungen gedacht. Nicht von geraden Flächen. Da Krümmungen für 3D in Segmente, also planare Elemente zerlegt werden wäre bei eingeschalteter vertikaler Linie sonst jede Teilfläche 'umrandet'. Schaltet man sie ab, ist z.B. bei einem Zylinder die Seitenkante dann nicht sichtbar. Für gerade Prismenabschnitte macht diese Option aber keinen das keinen Sinn. Und offensichtlich hat da ArchiCAD außerdem noch ein Problem damit.
Ich habe es nicht geprüft, aber ersetze mal alle 79 durch 15, dann sollte es klappen.
Anonymous
Nicht anwendbar
Der "Fehler" stimmt mich aber nachdenklich. Eine Theorie dazu:

Beim Zylinder prüft AC, ob die nachfolgende darzustellende Seitenteilfläche von der vorhergehenden verdeckt wird und setzt dann ggf. eine Linie (wenn eben Bit 1 und 6 gesetzt ist).
Warum macht er es nun bei deinem Beispiel bei 1 Regalboden korrekt und bei mehreren falsch? Vielleicht erkennt AC beim Project2 alle Polygone aus allen (!) PRISM-Befehlen als einen Körper und läßt sich dann davon täuschen, daß eine Kante nicht dargestellt werden muß, weil vermeintlich noch eine Teilfläche (eines Regalbodens darunter tangential) liegt.
Eine Lösung trotz Verwendung von Status 79 könnte sein, wenn man AC explizit zeigt, weilche Elemente (PRISM etc.) zusammengehören. Das Zauberwort heißt BODY -1. Das zeigt AC, was zusammengehört. Alles zwischen zwei BODY-Befehlen gehört zusammen.

Verwendet keiner, versteht meist keiner, macht aber dennoch Sinn. Siehe GDL technical standards. 😉
Vielleicht hast du ja mal Lust in deinem Skript nach jedem PRISM-Befehl einen BODY -1 einzufügen. Nur um zu sehen, obs das bringt.
Anonymous
Nicht anwendbar
Erst mal vielen Dank für die Tipps und das morgens um 3:00, da krieg ich ja ein schlechtes Gewissen 😞
Das mit Body-1 habe ich noch nie kapiert aber vielleicht hast Du recht. Ich werde es am Montag mal ausprobieren, da ich den Dongle jetzt nicht hier habe. Wenn´s funzt sag ich Bescheid :winken:
Dorothee
Anonymous
Nicht anwendbar
Hat leider nicht geklappt. Tja, vielleicht doch ein bug. Ich reparier es also in 2D. Vielen Dank für die Hinweise :winken:
Dorothee
Anonymous
Nicht anwendbar
Was hat nicht geklappt? Hast du alle deine Statuswerte von 79 auf 15 geändert? Wenn ja, klappt es auch damit nicht?