1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны периодические перебои в работе.

Вопрос по динамическим блокам

Discussion in 'Autodesk' started by VITALY874, Feb 23, 2013.

  1. VITALY874

    VITALY874 Форумчанин

    Создал динамический блок и теперь нужно сделать так чтобы при вставки он автоматически нумеровался от начально заданного значения. Может кто подскажет как это сделать?
     
  2. pashuha

    pashuha Форумчанин

    Это делаеться через лисп, для блоков с 1м текстовым атрибутом такой:

    (defun C:KAN ( / ass ats cmd pca dn n)
    (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object))
    cmd (getvar "CMDECHO") pca (getvar "PICKAUTO") n 0);setq
    (setvar "CMDECHO" 0)
    (initget "Number Renumber")
    (setq kw (getkword "\n[Number/Renumber]? <N>"))
    (if (null kw) (setq kw "Number"))
    (if (= kw "Number") (setvar "PICKAUTO" 0))
    (setq dn (getint "\nInput Start or Offset Number: <1>"))
    (if (null dn) (setq dn 1))
    (prompt (strcat "\nSelect Blocks for " kw "ing: "))
    (ssget)
    (setq ass (vla-get-ActiveSelectionSet adoc))
    (vlax-for sb ass
    (if (= (vla-get-objectname sb) "AcDbBlockReference")
    (progn
    (setq ats (vlax-safearray->list (vlax-variant-value (vla-getattributes sb))))
    (vla-put-TextString (car ats)
    (if (= kw "Number") (itoa (+ n dn))
    (itoa (+ (atoi (vla-get-TextString (car ats)) dn)))));vla-put
    (setq n (1+ n)));progn
    (alert "Oops! It's not a Block!"));if
    );vlax-for
    (setvar "CMDECHO" cmd)
    (setvar "PICKAUTO" pca)
    );end
    загружаем в автокад, команда kan, выбираем нумерация/перенумерация, начальный номер, выделяем блоки нажимаем ввод.
     
    VITALY874 and Qvinto like this.
  3. VITALY874

    VITALY874 Форумчанин

    Большое спасибо, завтра буду пробовать:-)
     
  4. VITALY874

    VITALY874 Форумчанин

    а как задать этот 1м текстовый атрибут
     
  5. pashuha

    pashuha Форумчанин

    "1м" это я сокращенно написал слово "одним", извиняюсь. Просто к вашему блоку добавьте атрибут, можно ничем его не заполнять.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice