Ansys.com


Risultati da 1 a 2 di 2
  1. #1
    Bannato
    Iscritto dal
    2007
    Messaggi
    1683
    Professione
    *
    Regione
    Lombardia
    Software
    AutoCAD

    Predefinito Incrementa il valore degli attributi nei blocchi

    AttInc - After you select a block, the program displays a list of all attribute tags for you to choose from. Then it gives you the options for the starting value, the increment, and the order in which to cycle through the blocks

    http://www.jefferypsanders.com/autolisp_AttInc.html

  2. #2
    Bannato
    Iscritto dal
    2007
    Messaggi
    1683
    Professione
    *
    Regione
    Lombardia
    Software
    AutoCAD

    Predefinito

    http://www.cadtutor.net/forum/showpo...51&postcount=6

    (defun c:mnum(/ stStr stNum nLen cAtr dLst blName
    fLst blLst blSet aName sLst lZer aStr)
    (vl-load-com)
    (if
    (and
    (setq stStr(getstring "\nSpecify start number: "))
    (setq stNum(atoi stStr))
    (setq nLen(strlen stStr))
    ); end and
    (progn
    (if
    (and
    (setq cAtr(nentsel "\nPick attribute > "))
    (= "ATTRIB"(cdr(assoc 0(setq dLst(entget(car cAtr))))))
    ); end and
    (progn
    (setq blName
    (vla-get-Name
    (vla-ObjectIDToObject
    (vla-get-ActiveDocument
    (vlax-get-acad-object))
    (vla-get-OwnerID
    (vlax-ename->vla-object(car cAtr)))))
    fLst(list '(0 . "INSERT")(cons 2 blName))
    aName(cdr(assoc 2 dLst))
    ); end setq
    (princ "\n<<< Select blocks to number >>> ")
    (if
    (setq blSet(ssget fLst))
    (progn
    (setq sLst
    (mapcar 'vlax-ename->vla-object
    (mapcar 'car
    (vl-sort
    (vl-sort
    (mapcar '(lambda(x)(list x(cdr(assoc 10(entget x)))))
    (vl-remove-if 'listp
    (mapcar 'cadr(ssnamex blSet))))
    '(lambda(a b)(<(caadr a)(caadr b))))
    '(lambda(a b)(>(cadadr a)(cadadr b)))))))
    (foreach i sLst
    (setq lZer "")
    (repeat(- nLen(strlen(itoa stNum)))
    (setq lZer(strcat lZer "0"))
    ); end repeat
    (setq atLst
    (vlax-safearray->list
    (vlax-variant-value
    (vla-GetAttributes i))))
    (foreach a atLst
    (if
    (= aName(vla-get-TagString a))
    (vla-put-TextString a
    (strcat lZer(itoa stNum)))
    ); end if
    ); end foreach
    (setq stNum(1+ stNum))
    ); end foreach
    ); end progn
    (princ "\nEmpty selection! Quit. ")
    ); end if
    ); end progn
    (princ "\nThis isn't attribute! Quit. ")
    ); end if
    ); end progn
    (princ "\nInvalid start number! Quit. ")
    ); end if
    (princ)
    ); end of c:mnum



  • Discussioni Simili

    1. Edit degli attributi da lisp
      Di x11start nel forum Lisp per Autocad
      Risposte: 2
      Ultimo Messaggio: 20-09-2010, 02: 08
    2. Estrazione degli attributi da un blocco
      Di Zoro76 nel forum Lisp per Autocad
      Risposte: 4
      Ultimo Messaggio: 24-04-2009, 15: 45
    3. Risposte: 5
      Ultimo Messaggio: 16-01-2009, 10: 50
    4. Rilevare la posizione bloccata degli attributi
      Di arri nel forum Tips & Tricks per Autocad
      Risposte: 0
      Ultimo Messaggio: 05-06-2008, 10: 08
    5. Risposte: 0
      Ultimo Messaggio: 18-01-2008, 09: 00

    Segnalibri

    Segnalibri

    Permessi di Scrittura

    • Tu non puoi inviare nuove discussioni
    • Tu non puoi inviare risposte
    • Tu non puoi inviare allegati
    • Tu non puoi modificare i tuoi messaggi
    •  



    CAD3D.it - la community dei progettisti