Hallo cad-ters,
Ik zoek iets om values in attributen te selecteren,
met filter kan ik TAG selecteren, maar niet VALUE.
met find kan ik ze wel VINDEN maar niet SELECTEREN.
Deze wil ik namelijk selecteren om vervolgens de coordinaten hiervan op te vragen.
Deze coordinaten heb ik nodig om vanaf hier een routine op los te laten.
Het is een grote tekening met paar honderd details (onze bilbliotheek) en ieder detail heeft een
naam, dat is de value in de attribute. Met een "zoek - verplaats - volgende" routine
wil ik de details rangschikken.
Had al geprobeerd eerst BURST te gebruiken, dan is het wel te selecteren,
maar BURST duurt een eeuw met deze tekening.
Had ook al Wblocks van alle details gemaakt, dan werkt de routine wel.
Maar dan heb je 2 bibliotheken te beheren bij een wijziging in de biblitheek.
Kortom: hoe vraag ik de COORDINATEN op van een VALUE (=de variabele) in een ATTRIBUTE ?
groetjes, Martin
Volgens mij heb je hier iets aan:
http://www.cadsite.be/smf/index.php?topic=6006.msg31415#msg31415
Met data extraction kan je alle gegevens naar een bestand exporteren.
Dat van Roy kan ik gebruiken, ik kan er nu verder mee.
Bedankt.
groetjes, Martin
Hallo, ben ik weer,
ik ben bezig een bestaande lisp (zie hieronder) aan te passen,
tot zover ben ik gekomen.
Bij de laatste zin is het moment daar dat ik moet selecteren op de value.
Hier moet ik een gedeelte van het voorbeeld van Roy invoegen.
Bij het voorbeeld van Roy vraagt het programma om een input.
Dat is trouwens bij zowat alle voorbeelden van lisp het geval.
In mijn geval moet ik juist niet om een input vragen, want deze is al bekend.
En hier zie ik geen voorbeelden van, vandaar mijn vraag.
Hoop dat ik de vraag duidelijk genoeg stel, is altijd lastig.
Mijn input komt uit detail.lst
bijvoorbeeld :
A
B
AA
AB
BB
A10
XS99
333
Deze moet ik dus één voor één selecteren (uit de ge-inserte tekening) en de coordinaten eruit vissen en vandaar uit
een commando uitvoeren.
Ik zocht trouwens naar cursussen voor autolisp, maar die zijn er niet (meer)
Is nu allemaal dotnet of VBnet zei men. Alle hoop op het forum !!
)
)
(setq tel (1+ tel))
)
(setq txtlst (append txtlst (list prvtxt)))
(setq filenm (strcat (getvar "dwgprefix") "details.lst"))
(setq f1 (open filenm "w"))
(foreach txt txtlst
(write-line txt f1)
)
(close f1)
(alert (strcat (itoa (length txtlst)) " details in " filenm " geplaatst."))
(princ)
)
(defun c:md ()
(setvar "osmode" 0)
(setq bib_upcase "C:\\Documents and Settings\\test martin\\")
(setq bib_lowcase "\\Documents and Settings\\test martin\\")
(setvar "attreq" 0)
; (setvar "ltscale" 10)
; (setvar "psltscale" 0)
(setq default (strcat (getvar "dwgprefix") "details.lst"))
(setq filenm (getfiled "Selecteer detaillijst" default "lst" 0))
; (setq filenm "C:\\Documents and Settings\\test martin\\details.lst")
(setq x0 0 y0 0 y1 -20 tel 0 telfnd 0 telleeg 0)
(setq f1 (open filenm "r"))
(setq detnm (read-line f1))
(setq bib "C:\\Documents and Settings\\test martin\\Hoofdbestand-20160115.dwg")
(command "-insert" bib (list 20000 0) 1 1 0) (command "explode" "L" "" "")
(command "zoom" "e")
(while detnm
(if (< (substr detnm 1 1) "a")
(setq blcknm (strcat bib_upcase detnm ".dwg"))
(setq blcknm (strcat bib_lowcase detnm ".dwg"))
)
(setq blcknm (findfile blcknm))
(command "tilemode" 1)
(if blcknm
(progn
(setq ss (ssget "_X" (list '(0 . "INSERT") '(66 . 1) (cons 410 (getvar blcknm)))))
)
groetjes, Martin
Je hoeft geen twee bibliotheken te beheren als je elk block als xref gebruikt... Kan mij ook voorstellen dat het dan wel langer duurt eer de tekening geladen is...
Verstuurd vanaf mijn LG-E975 met Tapatalk