Foro de Soporte Allplan

[Pregunta] SmartPart Angle Handle


Werte GDL-ScripterInnen,

ich versuche gerade bei einem SmartPart einen Angle Handle einzubauen. Leider klappt es noch nicht ganz wie gewünscht.

Klicke ich nämlich den erstellten Griff an, wechselt der Cursor die Stellung (siehe Bild). Weiß jemand wie ich den Handle so erstelle, dass der Cursor auf dem Griff bleibt?

Den Handle habe ich mir mit folgenden Zeilen erstellt:

!Basispunkt
HANDLE2 0 , 0 , 6 , "winkel" , 4

!Position des Griffes
HANDLE2 COS ( winkel ) * h * a - SIN ( winkel ) * h * a , laenge , 6 , "winkel" , 5

!Kreismittelpunkt (Ursprung des Objektes)
HANDLE2 0 , 0 , 6 , "winkel" , 6

Ich freue mich über Antworten

Adjuntos (1)

Type: image/png
Descargado 87 veces
Size: 44,83 KiB

Der 1. Handlepunkt ist falsch! (Der ist gleich dem Mittelpunkt)
Damit ist die Start-Richtung undefiniert.

Mit dem 1. Handlepunkt bestimmt man die Richtung, wo die Winkelmessung anfängt,
und zwar mit der Linie zwischen Mittelpunkt(3. Punkz) und Basispunkt (1. Punkt):

Beispiel:

id=1
HANDLE2 1           ,0           ,id,"ang",4
HANDLE2 cos(ang)*len,sin(ang)*len,id,"ang",5
HANDLE2 0           ,0           ,id,"ang",6

ROT2 ang
LINE2 0,0,len,0

Danke, Jörg!

Ganz hab ich es zwar immer noch nicht geschafft, aber der Cursor ist nun nur noch paar mm neben dem eigentlichen Griff.
Ein Erfolg!

"..der Cursor ist ... neben dem eigentlichen Griff"?
Soll dass heissen, der Griff liegt nicht auf dem beabsichtigten Punkt?

Frage: Was ist in Deinem Code a und h ?

Hallo Jörg,

kurze Info zum eigentlichen SmartPart. Es handelt sich hierbei um ein Flexrohr SmartPart, welches über Griffe in X/Y/Z-Richtung verschoben werden kann.
Mittels dem Angle Handle soll die Verschiebung in X-Richtung bewältigt werden. Der Parameter a steht für die Anzahl der Falten des Flexrohres und der Parameter h für die Länge einer Einbuchtung.

Der Griff liegt auf dem beabsichtigten Punkt, nämlich an der oberen linken Ecke des Objektes.
Nur wenn ich den Griff anklicke, dann befindet sich der Fangpunkt ein paar mm vom eigentlichen Griff (siehe Abbildung)

Den Griff habe ich nun folgendermaßen definiert:

HANDLE2 10 , 10 , 6 , "winkel" , 4
HANDLE2 COS ( winkel ) * h * a - SIN ( winkel ) * h * a , laenge , 6 , "winkel" , 5
HANDLE2 0 , 0 , 6 , "winkel" , 6

Beste Grüße

Adjuntos (1)

Type: image/jpeg
Descargado 26 veces
Size: 23,73 KiB

Frage: Was ist "a * h" ? Und was ist "laenge" ?
Die Brechnung des Griffpunktes ist scheinbar falsch!
Sollte es nicht so sein:

HANDLE2 COS ( winkel ) * h * a , SIN ( winkel ) * h * a , 6 , "winkel" , 5

Testweise würde ich mal eine Linie vom Ursprung zum (falschen) Griff-Punkt zeichenen lassen:

LINE2 0 , 0 , COS ( winkel ) * h * a - SIN ( winkel ) * h * a , laenge

Dann wird man sehen, dass diese Linie am Griff endet...