Liebes CAD.DE-Forum,
mich plagt schon seit ein paar Tagen das Problem bei meiner zur erstellenden Makro-Appli, dass ich keine 2d-Geometrie als Bezug zur Eigenschaft HeadTarget Setzen kann.
Also, mal unkompliziert formuliert:
- Benutzer soll die gewünschte (aus dem 3d abgeleitete) Geometrie in einer View anklicken können (NICHT mit indicate2d)
- Textfeld wird eingefügt (funktioniert)
- Die Linie, der Punkt o.Ä wird Zielpunkt des Leaders
Ich habs so weit fertig, dass es mit dem Selection-Filter "GeometricElements", also mit manuell erzeugter Geometrie, funktioniert. Aber wie dengel ich das hin, dass die Geometrie einer View als Bezug dient? Wenn ich den Filter "AnyObject" drin habe und "in" die Selection reingucke, sitzt da nur die gesamte View drin, ich brauche aber die 2D-Geometrie der Ansicht, also die vielen Kreise, Linien und Punkte der 2D-Ableitung meines Teils.
Hier der Code, falls das etwas zu seltsam klingt. Mein Kopf schwirrt in wirren V5-VBA-Sphären...
Code:
Dim MyLeader As DrawingLeader
Dim oSelResult As String
Dim aFilter(0)
Dim osel 'As selection
Dim oMyTarget As AnyObject
'Selection definieren und leeren
Set osel = CATIA.ActiveDocument.selection
osel.Clear
'Begrenzung,welche Objekte ausgewählt werden können dürfen
aFilter(0) = "AnyObject"
'Programmfenster zum Auswählen der Geo ausblenden
Me.Hide
If oSelResult = "Normal" Then
'Wenn korrektes Element ausgewählt
'Textfeld "droppen"
Set drawingtext = drawingtexts.Add(TextBoxTeileNummer.Text, DrawingWindowLocation(0), DrawingWindowLocation(1))
'Leader hinzufügen
Set MyLeader = drawingtext.Leaders.Add(5, 5)
Set oMyTarget = osel.Item(1).Value
'Und hier hakt es logischerweise, wenn ich die View ausgewählt habe - Bei GeometricElements läufts!
MyLeader.HeadTarget = oMyTarget
Else
'Wenn kein korrektes Element ausgewählt, nix tun, raus hier
Exit Sub
End If
Ich bräuchte eine Info, wie ich an die einzelnen Geometrielemente in einer Ansicht komme!
[Diese Nachricht wurde von moedamaster am 02. Nov. 2010 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP