Zitat:
Original erstellt von SUSANNA:
Ich suche in einer Zeichnung einen TEXT mit bestimmten Inhalt "XYZ", um X_OF und Y_OF zu ermitteln. Der "XYZ" kann auch ausgeblendet sein.
Falls der Text in Rahmen liegt möchte ich den Rahmennamen erfahren.
Hi Susa, erstmal Danke! Das ist ja eine sehr konkrete und gut formulierte Anfrage/Aufgabe.
Zitat:
Wie löse ich mein Problem interaktiv (Macro/Lisp) bei Annotation V16.
Also Macro und LISP geht wohl beides. Ich schmeiss dir mal jetzt Stichworte hin, weil ich nicht weiss wie gross Deine Kenntnisse zur Zeit schon sind. Mit den Stichworten kannst Du in der jeweiligen Online Hilfe dann mal gucken ob du weiter kommst:
a) LISP - grob:
1) mit get_selection und :FOCUS_TYPE *sd-anno-text-seltype* alle texte selektieren (ggg. nur die im aktuellen blatt?)
2) aktuelles Blatt und den Rahmen erfragen
2a) (sd-am-inq-curr-sheet)
2b) sd-am-inq-sheet + SD-AM-SHEET-STRUCT
2c) davon sd-am-sheet-struct-frame, aber sd-am-sheet-struct-corners sollte dir wohl schon reichen
3) eine schleife über alle Texte
3a) mit sd-am-inq-text-strings kommst an den inhalt
3b) gegen prüfen mit sd-string= oder sd-string-match-pattern-p
3c) die position bekommst du mit sd-get-annotator-position
3d) position mit den Ecken aus 2c gegenchecken
b) Macro (also ein Macro in 'Drafting' syntax, der aber im Annotation Modul ausgeführt wird)
1) Anahme das aktuelle blatt ist auch das aktulle part ggg. bekommt der Macro jenes als parameter,
1a) INQ_PART + INQ 104/105 -> die ecken
2) INQ_SELECTED_ELEM TEXTS ALL oder mit SUBTREE?
2a) schleife.. INQ_NEXT_ELEM
2b) INQ 902 | First text string of text
2c) prüfen ob's passt mit dem Inhalt
2d) INQ 101 position mit den Ecken aus 1a gegenchecken
Hier waere der aufruf dann etwa so:
(sd-execute-annotator-function :fnc "Susa_check_text_for_frame 'XYZ' '1' ")
Zitat:
Wo finde ich in der V16-Annotation-Hilfe Beispiele für Analyse der Zeichnung?
Umfangreiche Beispiele haben in der IKIT hilfe Seltensheitswert. Das ist halt eher ein Nachschlagewerk denn eine Anleitung zum Selbststudium (das Thema hatten wir schon n-mal hier). Umfangreiche Beispiele sollten eher Beispiele eines Programmier-/Anpassungs-Kurses sein.
"Falls der Text in Rahmen" habe mal mit 'reference PUNKT' liegt innhalb des Zeichnungsrahmnes interpretiert. Es kann also durchaus sein, das jener Punkt ausserhalb, der Text aber zu 90% innerhalb liegt, weil der in den Rahmen hineinragt. Also Achtung.
------------------
● Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ●
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP