abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Programmierung
Alles über Programmierung in GDL und Python

Project2{4}

Hmooslechner
Moderator
Mich "schleudert" es bei der 2D-Darstellung - das Project2{4}

im GS-Beispiel wird eine multiple Schnittebene angesetzt - aber ich brauch nur eine.

http://gdl.graphisoft.com/tips-and-tricks/using-project24-command

Wie muss da der korrekte Code lauten, damit ich eine in einem Meter Höhe geschnittene Darstellung hinbekomme?

Es geht um mein Trapezblech Addon -GDL. Das Trapezblech soll ja nicht vor den Fenstern dargestellt werden, sondern nur auf der Wand. Dazu müsste sich dieser Befehl doch eignen?

Graphisoft gibt folgenden Code für multiple Schnittebenen an:

! ------------------------------------------------------------------------------
! Input parameters controlled by the user:
! ------------------------------------------------------------------------------
! iCutPlanes - (Integer) Number of the cut planes to display
! cutElevation - (Length) Height from the bottom of the object,
! where the cutting starts
! sliceHeight - (Length) The height of each slices

for i = 1 to iCutPlanes
put cutElevation + (i-1) * sliceHeight
next i


for i = 0 to iCutPlanes
put 1+32, ! method
2, ! parts
1, ! cutFillIndex
1, ! cutFillFgPen
1, ! cutFillBgPen
0.0, ! cutFillOrigoX
0.0, ! cutFillOrigoY
0.0, ! cutFillDirection
1, ! cutLinePen
1, ! cutLineType
1, ! projectedFillIndex
1, ! projectedFillFgPen
1, ! projectedFillBgPen
0.0, ! projectedFillOrigoX
0.0, ! projectedFillOrigoY
0.0, ! projectedFillDirection
1, ! projectedLinePen
1 ! projectedLineType
next i

project2{4} 3, 270, ! projection_code, angle
0, ! useTransparency
0, ! statusParts
iCutPlanes, ! numCutplanes
get (nsp)



Wenn ich dann versuche - es auf eine Schnittebene zu reduzieren - kommt eine Fehlermeldung - zu wenig Parameter


! ------------------------------------------------------------------------------
! Input parameters controlled by the user:
! ------------------------------------------------------------------------------
! iCutPlanes - (Integer) Number of the cut planes to display
! cutElevation - (Length) Height from the bottom of the object,
! where the cutting starts
! sliceHeight - (Length) The height of each slices

! for i = 1 to iCutPlanes
put 1 ! für 1m Schnitthöhe???? !cutElevation + (i-1) * sliceHeight
! next i


! for i = 0 to iCutPlanes !! müsste einfach zum Ausschalten sein, dann sollte er es einmal tun.
put 1+32, ! method
2, ! parts
1, ! cutFillIndex
1, ! cutFillFgPen
1, ! cutFillBgPen
0.0, ! cutFillOrigoX
0.0, ! cutFillOrigoY
0.0, ! cutFillDirection
1, ! cutLinePen
1, ! cutLineType
1, ! projectedFillIndex
1, ! projectedFillFgPen
1, ! projectedFillBgPen
0.0, ! projectedFillOrigoX
0.0, ! projectedFillOrigoY
0.0, ! projectedFillDirection
1, ! projectedLinePen
1 ! projectedLineType
! next i !! ausgeschaltet

project2{4} 3, 270, ! projection_code, angle
0, ! useTransparency
0, ! statusParts
1, !!! nur einmal anstatt: iCutPlanes, ! numCutplanes
get (nsp)

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
15 ANTWORTEN 15
Ma_Scht
Advocate
for i = 0 to iCutPlanes sind m.E. 2 Durchläufe wenn iCutPlanes=1
Anonymous
Nicht anwendbar
Die Frage ist etwas diffus. Was funktioniert denn nicht?
Hmooslechner
Moderator
Was ich will ist ein echtes 2D-Projizieren von 3D-Geometrien mit der Schnitthöhe, die im Ausschnitt eingestellt ist. Also - der berühmte Meterschnitt von Geschoßdarstellungen.

Mein Trapezblech - GDL für das Wand-Zubehör addon schneidet die Fenster und Türen brav im 3D aus. Project2 sollte dann im Grundriss die über der Türe liegenden Teile des Trapezbleches "auslassen".

macht es aber nicht.

Jochen Suehlo hat mir mal eine sehr komplexe Lösung mit sehr vielen nötigen Variablen und Fällen mit Poject2{3} (nicht{4}) geschickt, aber das muß doch wirklich wesentlich einfacher mit Project2{4} zu bewerkstelligen sein, habe ich mir halt gedacht.

Es fehlt hier wirklich ein "Einzeiler", ein Project2 - Befehl, der mit mit einer einzigen Zeile diese Funktion , die sonst in AC ganz normal ist, bietet), Sonst geht das ja auch bei jeder Wand, Dach, Schale, Morph usw in. . Warum gibts das nicht schon längst?
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
Aber du programmierst doch schon lange genug, dass Du dir eine Bibliothek von Programmroutinen erstellt haben solltest. Das ist doch das tälich Brot allgemeine Lösungen zu entwickeln die nicht nur bei einem Objekt funktionieren. Wir können doch nicht für alles einen Einzeiler bekommen. 😉 Zumal das bei deiner Fragestellung mit 255 Zeichen in einer Zeile nicht reichen wird.
Hmooslechner
Moderator
Das seh ich anders.

Jene Dinge, die grundlegend wie sonst auch andere Elemente in Archicad funktionieren sollten - diese Dinge sollten meiner Meinung nach im GDL durchaus als Einzeiler gelöst werden, ohne dass man zusätzliche Parameter herstellen muss usw.

Eine Meterschnittdarstellung ist in Archicad grundsätzlich vorhanden - warum nicht auch im GDL? Warum sollten sich wir Scripter da die Finger verrenken müssen, 500 Zeilen reinzuklopfen und den Programmscript unnötig aufblähen - selbst WENN es Lösungen gibt?

Da wird einfach ein grundlegendes Darstellungskonzept für ein wesentliches Element nicht eingehalten - so einfach ist das!

Ich würde sogar soweit gehen, dafür gar kein Script zu benötigen, sondern dass dies eine grundlegende Funktion in der normalen Dialogbox jedes Bibliotheks-Elementes sein sollte - genaus wie es das bei Wänden, Dächern, Schalen, Morphs usw. ja auch ist.

Einfach ein Konzept komplett durchziehen - was spricht denn dagegen?

Und die Dokumentation über diese Befehle ist einfach unterirdisch! Wenn wenigstens bei so hochkomplexen Befehlen einige sprechende Beispiele im Handbuch abgedruckt wären - oder auf die bestehende Bibliothek verlinkt wäre, wo sowas eben vorkommt - aber nein - soweit reicht die "Kundenfreundlichkeit" dann doch nicht!

Wenn ich daran denke, wie ich die richtige Einbindung der Profile von Kollegen quasi "erbetteln" muss, weil es eben von Graphisoft nicht "sauber" dokumentiert und mit Beispielen belegt ist, kommt mir ein wenig Ärger hoch.

Seiten wie Self-GDL sollten bei sauberer Doku gar nicht nötig sein.

Genug geschimpft - grins. And die Arbeit - grins.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Ma_Scht
Advocate
Hallo zusammen,
da kann ich Heimo wirklich nur zustimmen. Ich bin Architekt, kein Programmierer. Es macht mir viel Spaß, aber das ich im GDL rumschnipsel liegt daran, dass ich damit ein Problem lösen will, ein Objekt zusammenkloppen was für meine Arbeit wichtig ist und parametrisch sein soll/muss.

Ich will mich aber NICHT in 3/4+x der Zeilen des Quellcodes damit beschäftigen, wie es auf dem Monitor dargestellt wird. Das sollten wirklich die internen Routinen lösen.

Ich habe eine Ahnung warum es nicht gemacht wird, aber da ich es nicht beweisen kann, werde ich es selbstverständlich NICHT äußern.

Wo ist denn das Problem, dass Nutzer Objekt auf einfache Weise zusammenkloppen? Dann wären in der BIM-Bib von GS auch nicht nur die GS-Objekte und ein paar Firmen die überredet wurden. Darüber ist mal nachzudenken!

Gruß Scht

Ach noch eins:
Was glaubt Ihr wieviele professionielle GDL-Programmierer es weltweit gibt, die NICHT über GS laufen?
Ich denke die Zahl ist sehr überschaubar.
So, wie will man Marktanteile behaupten, wenn keine innovativen Objekte auf EINFACHE Weise möglich sind. Klar, es geht alles, aber ich will ein Abendstudium Informatik machen um mit eine Löschwasserbarriere mit ein paar Parametern zu schnipseln (ich nenne es bewußt nicht programmieren, da ich das nicht kann).
runxel
Legend
"hmooslechner" wrote:
Mich "schleudert" es bei der 2D-Darstellung - das Project2{4}


Lieber Heimo, mich schleudert es da auch, da das Kommando leider ziemlich unintuitiv ist. Beim studieren der offiziellen Dokuseite ist mir aufgefallen, dass es da heißt:

...
method(numCutplanes+1)), ....

Sprich: man brauch den Schmarn immer einmal mehr als es Cutplanes gibt. ( Warum auch immer).
Folgender Code funktioniert wunderbar und nimmt auch automatisch die richtige Schnitthöhe. (Wobei ich die Statuscodes noch nicht so ganz gerafft habe...)
cutPlanes = 1		! nur eine Schnittebene
cutElevation = GLOB_CUTPLANES_INFO[1] ! auf der Höhe die der User möchte

put cutElevation

for i = 0 to cutPlanes
put 1+32+256+512+4096, ! method
2, ! parts
64, ! cutFillIndex
1, ! cutFillFgPen
1, ! cutFillBgPen
0.0, ! cutFillOrigoX
0.0, ! cutFillOrigoY
0.0, ! cutFillDirection
1, ! cutLinePen
1, ! cutLineType
1, ! projectedFillIndex
1, ! projectedFillFgPen
1, ! projectedFillBgPen
0.0, ! projectedFillOrigoX
0.0, ! projectedFillOrigoY
0.0, ! projectedFillDirection
1, ! projectedLinePen
1 ! projectedLineType
next i

project2{4} 3, 270,
0, ! Transparenz aus
1, ! statusParts
cutPlanes, ! Anzahl cutplanes
get (nsp)


PS: Ich muss euch zutiefst zustimmen. Ist für mich nicht nachvollziehbar, warum gerade solch eigentlich einfachen Darstellungssachen, die No-Brainer sein müssten, immer so verkompliziert werden. Dreißig Zeilen Code für einen Meterschnitt sind einfach nicht gerechtfertigt. Absolut überhaupt nicht.
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»
Hmooslechner
Moderator
Danke für die Code-Schnipsel!

Leider funktioniert es trotzdem nicht.

Die Fenster kann ich im 2D mit einem Workaround rausschneiden, indem ich die ohnehin nötige überstehende Fensterbank im Grundriss mit einer Schraffur belege, aber bei der Türe geht das nicht - finde ichs nicht oder ist ein Bug drin?!?

es geht wie gesagt um dieses File:

https://www.dropbox.com/s/o7kbyvd2wbfjod8/Fassadenpaneel-Teilungen%208.pln?dl=0


und das hier:

https://youtu.be/oN-JG0IOPB4



AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
runxel
Legend
"hmooslechner" wrote:


es geht wie gesagt um dieses File:

https://www.dropbox.com/s/o7kbyvd2wbfjod8/Fassadenpaneel-Teilungen%208.pln?dl=0


Der Link geht nimmer. 😕
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen