Support Forum

[Frage] Treppenmodellierer - Eingabe Fixpunkt Austritt


Hallo,

wie kann ich erreichen, das der Treppenmodellierer die Auftrittsbreite und Steigung zwischen zwei Fixpunkten aufteilt?
Kann ich den unten und oberen Punkt nicht in der Isometrie eingeben? Das wäre das einfachste, ich schaffe es nicht....
Wenn nicht 3D wie fixiere ich den oberen Austrittspunkt?

Mit besten Grüßen!
Jürgen

Allplan Ingenieurbau V10 bis V2025

Anhänge (1)

Typ: image/png
375-mal heruntergeladen
Größe: 367,56 KiB

Hilfreichste Antwort anzeigen Hilfreichste Antwort verbergen

Hallo Jürgen,

...so einfach ist das nicht!
Der neue Treppenmodellierer braucht eine fixe Autrittslänge zu automatischen Berechnung der Stufen
zwischen den Podesten. Die Auftrittslänge lässt sich also nicht aus der Lauflänge berechnen, sobald
Podeste im Spiel sind.
Bei einer gerade Treppe könnte man das natürlich machen, aber dann kommen noch andere Probleme
Deiner Leitertreppe hinzu: Die Stufentiefe ist konstant, und nicht gleich der Auftrittslänge!

Auch das "Picken" des Fix-Punktes oben ist eigentlich bereits drin, allerdings nur im Grudriss als Endpunkt der Achse! Die zugehörige Höhe kann man sich vorher abgreifen, und dann in den Eingabefeldern die Höhe und Auftrittsbreite ausrechnen! Es geht also, wenn auch nicht besonders komfortabel!

Deine "Industrie-Leiter" war leider nicht im Fokus des Treppenmodellierers, da es keine (notwendige) Treppe ist!
Ich denke, mit dem neuen Treppenmodellierer kann man mehr als 80% der gängigen Treppen leichter und detaillierter erzeugen. Falls doch etwas nicht geht, gibt es ja noch die "alte" Treppe!

Und damit auch Du zufrieden bist, habe ich mal ein SmartPart gebaut, mit dem Du einfach Start- und Endpunkt
zeigen brauchst, und alles wird automatisch berechnet.
Diese Leitertreppe kann als Stufen detaillierte Gitterroststufen mit fixer Tiefe haben, und die Wangen können aus U-Profilen sein.

Grüße Jörg

Anhänge (2)

Typ: image/png
114-mal heruntergeladen
Größe: 68,69 KiB
Typ: application/xml
1479-mal heruntergeladen
Größe: 39,17 KiB
61 - 69 (69)

Zitiert von: Nemo
Well, I think you have a problem with using the same code to generate the staircase twice, and getting 2 different GROUPS. This is how it works:
grp="run01"

GOUSB "CreateRun

TRANS x,y,z

ROTZ 90

grp="Run02"

GOUSB "CreateRun
res=GROUP_UNION("Lauf01","Lauf02")

GROUP_PLACE res

END
"CreateRun":
Create run with PRISM and GROUP_UNION here

....

res=GROUP_UNION(stairs,carrier)
GROUP grp

GROUP_PLACE res

GROUP_END

RETURN
Regards.
Jörg

Hi Nemo, I send you the my code schematic for stair like 3d attached. The problem of merge is indicated with red arrows. Can you tell me where is the problem in the code? Thank you.

ROTX 90
ROTY 90

GOSUB "str_r1"

GOSUB "str_pie_1"

GOSUB "str_pie_2"

GOSUB "str_r2"


GOSUB "str_pie_3"

GOSUB "str_pie_4"


GOSUB "str_r3"



GOSUB "triang_arr"

END

"str_r1":
GROUP "sot_tri_r1"
TRANS …..
PRISM …..
RESTORE 1
GROUP_END

GROUP "tri_r1"
FOR n = 1 TO ped_num_r1
GOSUB "triang_r1"
TRANS ….
NEXT
RESTORE ped_num_r1
GROUP_END

res1 = ""
res1 = GROUP_UNION ( "sot_tri_r1" , "tri_r1" )
!GROUP_PLACE res1
RETURN

"triang_r1":
TRANS …..
PRISM …..
RESTORE 1
RETURN

"str_pie_1":
GROUP "pie_1"
TRANS ….
PRISM ….
RESTORE 1
GROUP_END

res1 = GROUP_UNION ( res1 , "pie_1" )
!GROUP_PLACE res1
RETURN

"str_pie_2":
GROUP "pie_2"
TRANS ….
ROTX ….
PRISM ….
RESTORE 2
GROUP_END
res1 = GROUP_UNION ( res1 , "pie_2" )
GROUP_PLACE res1
RETURN

"str_r2":
TRANS ….
ROTY ….

GROUP "sot_tri_r2"
TRANS ….
PRISM ….

PRISM ….

RESTORE 1
GROUP_END

GROUP "tri_r2"
FOR n = 1 TO ped_num_r2
GOSUB "triang_r2"
TRANS ….
NEXT
RESTORE ped_num_r2

GROUP_END

res2 = GROUP_UNION ( "sot_tri_r2" , "tri_r2" )
!GROUP_PLACE res2

RETURN

"triang_r2":
TRANS ….
PRISM ….
RESTORE 1
RETURN

"str_pie_3":
GROUP "pie_3"

TRANS ….

PRISM ….
RESTORE 1
GROUP_END
res2 = GROUP_UNION ( res2 , "pie_3" )
RETURN

"str_pie_4":
GROUP "pie_4"
TRANS ….
ROTX ….
PRISM ….

RESTORE 2
GROUP_END

res2 = GROUP_UNION ( res2 , "pie_4" )
GROUP_PLACE res2
RETURN

"str_r3":

TRANS ….
ROTY ….
GROUP "sot_tri_r3"
TRANS ….
PRISM ….

PRISM ….

RESTORE 1
GROUP_END

GROUP "tri_r3"
FOR n = 1 TO ped_num_r3 - 1
GOSUB "triang_r3"
TRANS ….
NEXT
RESTORE ped_num_r3 - 1
GROUP_END
res3 = GROUP_UNION ( "sot_tri_r3" , "tri_r3" )
!GROUP_PLACE res3

RETURN

"triang_arr":
GROUP "tri_ar_r3"
TRANS ….
PRISM ….
RESTORE 5
GROUP_END

res3 = GROUP_UNION ( res3 , "tri_ar_r3" )
GROUP_PLACE res3

RETURN

Anhänge (1)

Typ: image/png
28-mal heruntergeladen
Größe: 7,07 KiB

Why do you place res1, res and res3 with GROUP_PLACE? You want to unite them all later!
So comment out all lines, where GROUP_PLACE is in it!

Finally just add a

res=""
res=GROUP_UNION ( res1 , res2 )
res=GROUP_UNION ( res , res3 )

and then
GROUP_PLACE res

Zitiert von: Nemo
Why do you place res1, res and res3 with GROUP_PLACE? You want to unite them all later!

So comment out all lines, where GROUP_PLACE is in it!
Finally just add a
res=""

res=GROUP_UNION ( res1 , res2 )
res=GROUP_UNION ( res , res3 )
and then

GROUP_PLACE res


Thank you Nemo for clarification! I try to explain better by attaching the code with more explanations. The groups are res1, res2 and res3 . Can you tell me how to modify the code to merge the three groups (I don't understand where put, in my code, your indication ...Finally just add a
res=""? Thank

Anhänge (2)

Typ: application/pdf
485-mal heruntergeladen
Größe: 216,69 KiB
Typ: image/png
27-mal heruntergeladen
Größe: 9,34 KiB

Finally (at the and of all your stuff, before END) just add

res=""
res=GROUP_UNION ( res1 , res2 )
res=GROUP_UNION ( res , res3 )

GROUP_PLACE res

Zitiert von: Nemo
Finally (at the and of all your stuff, before END) just add
res=""

res=GROUP_UNION ( res1 , res2 )

res=GROUP_UNION ( res , res3 )
GROUP_PLACE res


Hi Nemo, thank you for clarification. I modified the code as per your instructions (entered comments where are all GROUP_PLACE and entered instructions res=.... before END) but unfortunately the result is what you see in the attachment. Thanks anyway for your availability.

Anhänge (1)

Typ: image/png
24-mal heruntergeladen
Größe: 3,87 KiB

Zitiert von: Nemo
Per il calcolo di a sono necessari alcuni altri parametri:

Angolo e posizione della linea di sezione, posizione della linea del gradino e larghezza della scala.

E poi puoi calcolarlo con alcune funzioni seno o coseno.

Divertiti con esso...
Senza calcoli puoi fare quanto segue:

-crea linee di gradino

-crea poligono con bordo destro e sinistro, inizio linea di gradino e linea di sezione.
con: POLY2 p_cnt , 1 + 4 + 1024 , ...
1024 indica che tutte le parti di linea esistenti al di fuori dei poligoni vengono tagliate.
Per l'utilizzo vedere Cut_Lines_Outside_Polygon.smt


Hi Nemo, on this aspect I have seen what it's possible to hide the elements inside of POLY2 (with code 512 instead 1024) . it's possible also hide the border of POLY2? I don't understand how to do this!

512 and 1024 are codes for removing crossing lines/polygons! (s. remove_crossing.png)
code 1 and 2 are the ones for showing the outline (border) or not! (s. remove_border.png)

To hide the border makes no sense, if you do not have a filling inside!

Please make a new topic for such questions!
The original topic is about stairs and thheir ending!

Anhänge (2)

Typ: image/png
22-mal heruntergeladen
Größe: 107,86 KiB
Typ: image/png
17-mal heruntergeladen
Größe: 5,72 KiB

Zitiert von: Nemo
512 and 1024 are codes for removing crossing lines/polygons! (s. remove_crossing.png)

code 1 and 2 are the ones for showing the outline (border) or not! (s. remove_border.png)
To hide the border makes no sense, if you do not have a filling inside!
Please make a new topic for such questions!

The original topic is about stairs and thheir ending!


Thank you for clarification. My idea for use of this procedure is to use the polygon without border and with white filled to hide the stair lines when it's sectioned.

Anhänge (1)

Typ: image/jpeg
15-mal heruntergeladen
Größe: 72,76 KiB

Zitiert von: Nemo
Insert
IF unn THEN GROUP "ext_end"
ENDIF
and
IF unn THEN GROUP_END !GROUP_PLACE "ext_end"
res = GROUP_UNION ( res , "ext_end" )
GROUP_PLACE res
ENDIF
at top and end of subroutine "ext_end".
Comment out

!GROUP_PLACE res
at End of subroutine "carrier"
GROUP res holds now the carrier, and can unified with extend_end

at end of subroutine "ext_end".


Hi, how is it possible to ensure that if steps are added or removed, the landing does not move but only the steps move forward or backward?
61 - 69 (69)