FastFiber

waar vind ik text size van een attrib en hoe deze wijzigen ? half OPGELOST

Gestart door delangstevandestraat, wo 01 04 2015, 13:30:14

Vorige topic - Volgende topic

delangstevandestraat

Ik heb een SS met de juiste block er in,
ik ga op zoek naar bepaalde attrib's, en afhankelijk van iets moet ik dan van één bep aatribute de groote wijzigen...

waar vind ik de grootte en hoe wijzig ik deze ?

alvast bedankt voor de hulp ;-)
Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

jimpie

is het dit dat je bedoeld of begrijp ik je vraag verkeerd.

delangstevandestraat

Jimpie,

ja, inderdaad, hoe kan ik die terugvinden en aanpassen...

vanuit lisp wel te verstaan hé ;-)
Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

EddyBeerke

Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

delangstevandestraat

Dag Eddy,
ja ik wil die wel delen hoor, maar 'k ben maar dinsdag terug op kantoor, dus dat doe ik dan wel

eigenlijk staat er niet zoveel in hoor, het gaat over een plan met verschillende layouts/titelkaders
het plannr en andere data laat ik via een lisp overbrengen van de eerste layout naar de andere layouts, nu wordt het plannr soms te groot, en dat wil ik automatisch laten verkleinen vandaar de vraag...

Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

HofCAD

Citaat van: delangstevandestraat op wo 01 04 2015, 13:30:14
Ik heb een SS met de juiste block er in,
ik ga op zoek naar bepaalde attrib's, en afhankelijk van iets moet ik dan van één bep aatribute de groote wijzigen...

waar vind ik de grootte en hoe wijzig ik deze ?

alvast bedankt voor de hulp ;-)
Beste Delangstevandestraat,

Wil je de attribuuthoogte van een attribuuutwaarde bij een blockreferentie wijzigen,
of wil je de attribuutdefinitiehoogte binnen een blockdefinitie wijzigen?

Net vriendelijke groet, HofCAD CSI.


http://www.cadsite.be/smf/index.php?topic=328.msg1572#msg1572
http://www.cadsite.be/smf/index.php?topic=1253.msg7290#msg7290

ACADcadabra

delangstevandestraat

@ HOFCAD : zie berichtje van jimpie â†', de aangeduide waarde wil ik wijzigen


@ EDDY : zoals beloofd : het stuk code, er is nog een hele pak code van ervoor die gegevens uit de hoofdlayout haalt, ik heb enkel de lus voor alle kleine layouts hier geplakt

(foreach layoutname (layoutlist)
    (if (= layoutname "blad01")                     ;if
      ()                           ;eerste blad niets doen
      (progn                           ;2
        (command ".layout" "set" layoutname)               ;
        (setq selset (ssget "x" (list (cons 410 (getvar "ctab")) (cons 2 "block1"))));selectie data
        (if selset
          (progn                        ;21
       (setq ent (ssname selset 0))               ;haal uit de SS de entity op de '0'-ste positie
            (setq entpntr (entnext ent))                         ;pos 0 = block zelf, ik heb de attr nodig
            (while (/= (cdr(assoc 0 (entget entpntr))) "SEQEND")         ;zolang er nog attribs zijn, lus
              (progn                        ;7
                (setq ent (entget entpntr)
                      tag (cdr(assoc 2 ent)))
                (cond ((= tag "AT_PLANNUM")   (setq ptrkplnr entpntr))
                )                                                              ;cond end
                (setq entpntr (entnext entpntr))                                 ;volgende ent
              )                                                            ;progn7
            )                                                                  ;while
       (command "-attedit" "" "" "" "" ptrkplnr "v" "r" plannr "")         ;nieuw data aanbrengen
     )                           ;progn 21
   )                           ;if selset
   (setq selset (ssget "x" (list (cons 410 (getvar "ctab")) (cons 2 "block2"))));selectieset andere data
        (if selset
          (progn                        ;21
            (setq ent (ssname selset 0))
            (setq pos (cdr(assoc 10(entget ent))))
            (setq poslb (list (+ (car pos) -52)   (+ (cadr pos) 34) 0.0))
            (setq posro (list (+ (car pos) -10.5) (+ (cadr pos) 18) 0.0))
            (setq selset2 (ssget "w" poslb posro))
              (if selset2
                ()




                ();text krimpen HIER MOET HET GEBEUREN






              )   
            (setq entpntr (entnext ent))                         ;pos 0 = block zelf, ik heb de attr nodig
            (command "zoom" "c" pos 200)
            (while (/= (cdr(assoc 0 (entget entpntr))) "SEQEND")         ;zolang er nog attribs zijn, lus
              (progn                        ;7
                (setq ent (entget entpntr)
                      tag (cdr(assoc 2 ent)))
                (cond ((= tag "AT_DATA_DESC1_S_N") (setq ptrKtit1 entpntr))   ;pointer ophalen
                      ((= tag "AT_DATA_DESC2_S_N") (setq ptrKtit2 entpntr))   ;pointer ophalen
                )                                                              ;cond end
                (setq entpntr (entnext entpntr))                                 ;volgende ent
              )                                                            ;progn7
            )                                                                  ;while
            (command "-attedit" "" "" "" "" ptrKtit1 "v" "r" ktit1 "")     ;nieuw data aanbrengen
            (command "-attedit" "" "" "" "" ptrKtit2 "v" "r" ktit2 "")     ;nieuw data aanbrengen
     )                           ;progn 21
   )                           ;if selset
      )                              ;progn 2
    )                              ;if layoutname
  )                              ;foreach
Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

delangstevandestraat

ik heb het uiteindelijk gevonden


(setq elst (entget (entnext (ssname (ssget "c" posro poslb) 0))))
(setq nelst (subst (cons 40 txht) (assoc 40 elst) elst))
(entmod nelst)


maar ik had iets over het hoofd gezien,
om te weten of mijn plannr te lang was nam ik een window (positie RO en LB) en als de text hier buiten viel dan was de text dus te groot...

dacht ik...

de text is een attrib van een block en de block is dus altijd te groot...

shit dus ...
Ik hou van werken,
ik kan er uuuren naar kijken...
daarom zorg ik ook dat er altijd genoeg overblijft voor morgen :-)

FastFiber