Support Forum

Smartpart Winkel mit RUndung

Schlagworte:
  • Allplan
  • 2019
  • SmartPart

Hallo liebe Community:

Ich habe folgendes Problem: Ich möchte einen SmartPart für einen steuerbaren Winkel erstellen.
Über den Befehl PRISM habe ich das problemlos hinbekommen, nur die Rundung wo der Winkel gebogen wird, bekomme ich nicht hin:

Hier der Code für PRISM

GROUP "Winkel"
PRISM 6 , height ,
!P1
0 , 0 , 0
!P2
( lenght1 + ( TAN ( arc1 / 2 ) * ( thickness1 / 2 ) ) ) , 0 , rad1, arc1,20000
!P3
( lenght1 + ( COS ( arc1 ) * ( lenght2 ) ) + ( SIN ( arc1 ) * ( thickness1 / 2 ) ) ) , ( ( thickness1 / 2 ) + ( SIN ( arc1 ) * ( lenght2 ) ) - ( COS ( arc1 ) * ( thickness1 / 2 ) ) ) ,
!P4
( lenght1 + ( COS ( arc1 ) * ( lenght2 ) ) - ( SIN ( arc1 ) * ( thickness1 / 2 ) ) ) , ( ( thickness1 / 2 ) + ( SIN ( arc1 ) * ( lenght2 ) ) + ( COS ( arc1 ) * ( thickness1 / 2 ) ) ) ,
!P5
( lenght1 - ( TAN ( arc1 / 2 ) * ( thickness1 / 2 ) ) ) , thickness1 ,
!P6
0 , thickness1
GROUP_END

So wie ich es verstehe müsste ich mit PRISM_ und den Steuercodes einen Bogen erzeugen können, nur leider verstehe ich die Syntax nicht ganz.

Vielen Dank im Voraus

Johannes

Anhänge (1)

Typ: image/jpeg
123-mal heruntergeladen
Größe: 38,70 KiB

Die Steuercodes (die jeweils 3.Zahlen) für den Verlauf findet man hier gut erklärt.

Anhänge (2)

Typ: image/png
120-mal heruntergeladen
Größe: 85,08 KiB
Typ: image/png
35-mal heruntergeladen
Größe: 85,08 KiB

Hallo Nemo

Vielen Dank. Du hast mir sehr geholfen. Hat perfekt gepasst.

Danke
LG Johannes

..hier ist noch das SmartPart.

Warum oben plötzlich 2-mal derselbe Anhang (der Screenshot winkel.png) dran ist, muss ich nicht verstehen!
Einer davon war das SmartPart, als ich den Beitrag geschrieben hab...

Anhänge (1)

Typ: text/xml
681-mal heruntergeladen
Größe: 12,36 KiB

Hi

hast du zufällig eine Anleitung wie man HANDLE richtig scriptet?

Danke
Johannes

Ein Handle besteht immer aus 3, bei 3D-Winkel-Handles aus 4 Zeilen.
Die ersten 2(3) Argumtente nach HANDLE sind die Koordinaten des Punktes.
id ist eine Vairable für die Handle-Nummer, die man hochzählen sollte.
"ref_x" ist der Name des Parameters, den das Handle "steuern" soll.
Das letzte Argument einer Zeile bezeichnet dabei immer die Art des Punktes, die die Zeile angibt.

id=1
HANDLE 0,0,0,id,"ref_x",1 ! 1... Base Point -> von diesem Punkt aus wird der Abstand gemessen
HANDLE ref_x,0,0,id,"ref_x",2 ! 2... Move Point -> dort ist das blaue Symbol des Handles, welches man bewegen kann
HANDLE -1,0,0,id,"ref_x",3 ! 3... Reference Point -> der Vector von Punkt 1 zu diesem Punkt zeigt die negative Richtung, in der Abstand zum Punkt 1 "gemessen" wird

id=id+1