| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Сквозная нумерация динамических блоков

Сквозная нумерация динамических блоков

Ответ
Поиск в этой теме
Непрочитано 18.09.2007, 17:45
Сквозная нумерация динамических блоков
zenon
 
Остекляем!!! Алюминим!!!
 
Москва
Регистрация: 21.02.2005
Сообщений: 3,824

Назрело!
В связи с введением динамических блоков начиная с AutoCAD2006, по роду моей деятельности появилась возможность рисовать монтажную схему стоек с указание ее длины в аттрибуте, с автоматическим изменением аттрибута в зависимости от удлинения стойки.
Поэтому назрел вопрос о сквозной нумерации, то бищь присвоении 2му аттрибуту номера стойки в зависимости от ее длины.
см. чертеж
[ATTACH]1190123036.dwg[/ATTACH]
Можно ли расстановку позиций реализовать программно?
ps предварительно расставив стойки.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
Просмотров: 88199
 
Непрочитано 03.03.2011, 11:39
#161
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Farest-1 Посмотреть сообщение
Всё бы хорошо но по подаются одинаковые блоки но с разной номерацией .
Приведи пример (dwg файл) в котором всего пару блоков, которые нумеруются неправильно. Разбираться в 360 позициях времени нет

Цитата:
Сообщение от Farest-1 Посмотреть сообщение
Кстати возможно ли в коде добавить ещё одну операцию например
есть 2-ва размера 744мм и 745мм -либо округлял или уменьшал.
Это по всем динамическим свойствам или по одному?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 03.03.2011, 12:00
#162
Farest-1

Конструктор
 
Регистрация: 19.12.2005
Подольск
Сообщений: 54
<phrase 1= Отправить сообщение для Farest-1 с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
Приведи пример (dwg файл) в котором всего пару блоков, которые нумеруются неправильно. Разбираться в 360 позициях времени нет


Это по всем динамическим свойствам или по одному?
Выкладываю 2- блока которые нумеруются по разному.

Скорее всего по всем динамическим свойствам (если можно покажите 2-х вариантах нужно про бывать).
Вложения
Тип файла: rar 2блока.rar (128.7 Кб, 116 просмотров)
Farest-1 вне форума  
 
Непрочитано 03.03.2011, 14:01
#163
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Пробуй (пример см #162 и #157)
Текущая сборка 2011-12-08
Код:
[Выделить все]
;;; Маркировка динамических блоков
;;; Тема Сквозная нумерация динамических блоков
;;; URL http://forum.dwg.ru/showthread.php?t=13666&page=9
;;; Post #163
;;; Натройки программы проихводятся парой строчек ниже СМ
;;;================================================
;;;======== НАСТРОЙКИ ПРОГРАММЫ ===================
;;;================================================
;;;  (setq bname "*") ;_Имя блока 
;;;  (setq dynProp1 "Высота(H) кассеты") ;_Имя динамического свойства1
;;;  (setq dynProp2 "Ширина(B) кассеты") ;_Имя динамического свойства1
;;;  (setq attTo "POS") ;_Имя аттрибута куда вбивать

(defun c:NDB (/       adoc    ss      name    bname   lst     lstLen
              poz     attTo   *error* dynProp1        dynProp2
              dp1     dp2     i dimz
             )
;;; Маркировка динамических блоков
;;; Тема Сквозная нумерация динамических блоков
;;; URL http://forum.dwg.ru/showthread.php?t=13666&page=9
;;; Post #163
  
;;;================================================
;;;======== НАСТРОЙКИ ПРОГРАММЫ ===================
;;;================================================
  (princ "\nNDB - Маркировка динамических блоков. сборка от 2011-12-08")
  (vl-load-com)
  (setq bname "*") ;_Имя блока 
  (setq dynProp1 "Высота(H) кассеты") ;_Имя динамического свойства1
  (setq dynProp2 "Ширина(B) кассеты") ;_Имя динамического свойства1
  (setq attTo "POS") ;_Имя аттрибута куда вбивать
  (or (numberp *STARTPOZ*)(setq *STARTPOZ* 1)) ;;; Стартовая нумерация
  
;;; ===================== LOCAL FUNCTION ==========================================
(defun *error* (msg) (princ msg)(setvar "DIMZIN" dimz)(vla-endundomark adoc))
(defun RemoveDuplicateStrings (stringlist / newlist)
  (foreach var stringlist 
    (if (not (vl-position var newlist))
      (setq newlist (cons var newlist))
    )
  )
  (reverse newlist)
)
  (defun mip-conv-to-str (dat)
  (cond ((= (type dat) 'INT) (setq dat (itoa dat)))
        ((= (type dat) 'REAL) (setq dat (rtos dat 2 12)))
        ((null dat) (setq dat ""))
        (t (setq dat (vl-princ-to-string dat)))
  ) ;_ end of cond
) ;_ end of defun
(defun GetDynamicBlockPropertyList (obj)
 (mapcar
    (function
      (lambda ( prop )
        (list (vla-get-propertyname prop) (vlax-get prop 'Value) prop)
      )
    )
    (vlax-invoke obj 'GetDynamicBlockProperties)
  )
)
(defun GetDynamicBlockPropertyNameValue ( obj PropertyName / Plist)
  (and
  (setq PropertyName (strcase PropertyName))
  (setq Plist (GetDynamicBlockPropertyList obj))
  (setq Plist (car(vl-remove-if-not '(lambda (x)
                                   (= (strcase (car x)) PropertyName))
                Plist
                ))
        )
  )
   (cadr Plist)
  )
(defun mip-block-setattr-bylist (obj att_list / txt lst)
  (if (= (type obj) 'ENAME)
    (setq obj (vlax-ename->vla-object obj))
  ) ;_ end of if
  (setq att_list (mapcar '(lambda (x)
                            (cons (strcase (mip-conv-to-str (car x)))
                                  (mip-conv-to-str (cdr x))
                            ) ;_ end of cons
                          ) ;_ end of lambda
                         att_list
                 ) ;_ end of mapcar
  ) ;_ end of setq
  (if (and obj
           (not (vlax-erased-p obj))
           (= (vla-get-objectname obj) "AcDbBlockReference")
           (eq :vlax-true (vla-get-hasattributes obj))
           (vlax-property-available-p obj 'Hasattributes)
           (vlax-write-enabled-p obj)
      ) ;_ end of and
    (vl-catch-all-apply
      (function
        (lambda ()
          (foreach at (vlax-invoke obj 'Getattributes)
            (if (setq
                  lst (assoc (strcase (vla-get-tagstring at)) att_list)
                ) ;_ end of setq
              (vla-put-textstring at (cdr lst))
            ) ;_ end of if
          ) ;_ end of foreach
        ) ;_ end of lambda
      ) ;_ end of function
    ) ;_ end of vl-catch-all-apply
  ) ;_ end of if
) ;_ end of defun
(defun round (value to)
;;; Doug Broad
;;; additional credits Joe Burke, Peter Toby
  (setq to (abs to))
  (* to
     (fix (/ ((if (minusp value)
                -
                +
              ) ;_ end of if
               value
               (* to 0.5)
             )
             to
          ) ;_ end of /
     ) ;_ end of fix
  ) ;_ end of *
) ;_ end of defun  
(defun get-all-atts (obj)
  (if (and obj
           (eq :vlax-true (vla-get-hasattributes obj))
           (vlax-property-available-p obj 'Hasattributes)

      ) ;_ end of and
    (vl-catch-all-apply
      (function
        (lambda ()
          (mapcar (function (lambda (x)
                              (cons (vla-get-tagstring x)
                                    (vla-get-textstring x)
                              ) ;_ end of cons
                            ) ;_ end of lambda
                  ) ;_ end of function
                  (append (vlax-invoke obj 'Getattributes)
                          (vlax-invoke obj 'Getconstantattributes)
                  ) ;_ end of append
          ) ;_ end of mapcar
        ) ;_ end of lambda
      ) ;_ end of function
    ) ;_ end of vl-catch-all-apply
  ) ;_ end of if
) ;_ end of defun  
(defun SortStringWithNumberAsNumber (ListOfString IgnoreCase / NorStrs count)
;;;Function Normalize (add 0 befor number) number in string
;;; Count normalize symbols set in variable count
;;; CAB added count as an argument
  ;;;http://www.theswamp.org/index.php?topic=16564.msg207439;topicseen#msg207439
  ;;; http://www.theswamp.org/index.php?topic=6474.0
  (defun NormalizeNumberInString (str count / ch i pat ret buf)
    (setq i   0
          pat '("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")
          ret ""
    ) ;_ end of setq
    (while (/= (setq ch (substr str (setq i (1+ i)) 1)) "")
      (if (vl-position ch pat)
        (progn
          (setq buf ch) ;_ end of setq
          (while
            (vl-position (setq ch (substr str (setq i (1+ i)) 1)) pat)
             (setq buf (strcat buf ch))
          ) ;_ end of while
          (while (< (strlen buf) count) (setq buf (strcat "0" buf)))
          (setq ret (strcat ret buf))
        ) ;_ end of progn
      ) ;_ end of if
      (setq ret (strcat ret ch))
    ) ;_ end of while
    ret
  ) ;_ end of defun
  ;;-------------------------------------------------
  ;;  function to Count the longest number in string 
  ;;  CAB added to get the correct COUNT
  (defun getcount (lst / count pat)
    (setq count 0)
    (setq pat '("0" "1" "2" "3" "4" "5" "6" "7" "8" "9"))
    (mapcar
      '(lambda (str / i maxlen ch)
         (setq i 0 maxlen 0)
         (while (/= (setq ch (substr str (setq i (1+ i)) 1)) "")
           (if (vl-position ch pat) ; number
             (setq maxlen (1+ maxlen))
             (setq count  (max count maxlen) maxlen 0)
           )
         )
	 (setq count  (max count maxlen)) ;_<<< ADD 21.06.2007 by 
       )
      Lst
    )
    count
  )
  ;;===============================================
  (setq count   (GetCount ListOfString)
        NorStrs (mapcar '(lambda (x) (NormalizeNumberInString x count))
                        ListOfString)
  )
  (and IgnoreCase (setq NorStrs (mapcar 'strcase NorStrs)))
  (mapcar '(lambda (x) (nth x ListOfString)) (vl-sort-i NorStrs '<))
)
  ;;; ===================== LOCAL FUNCTION ==========================================

  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
;;;============================================================= 
;;;====================== MAIN PART ============================ 
;;;============================================================= 
  (vla-startundomark adoc)
  (setq dimz (getvar "DIMZIN"))
  (setvar "DIMZIN" 0)
  (setq *PREF* (mip-conv-to-str *PREF*))
  (setq *SUFF* (mip-conv-to-str *SUFF*))
  (princ "\nВведите префикс или Пробел - нет <")
  (princ *PREF*)(princ ">: ")(setq poz (getstring t))
  (if (/= poz "")(setq *PREF* poz))
  (if (= poz " ")(setq *PREF* ""))
  (princ "\nВведите суффикс или Пробел - нет <")
  (princ *SUFF*)(princ ">: ")(setq poz (getstring t))
  (if (/= poz "")(setq *SUFF* poz))
  (if (= *SUFF* " ")(setq *SUFF* ""))
  (princ "\nКратность (5 - кратно 5; 0.5 - кратно 0.5) или 0 - нет <")
  (if (numberp *ROUND*)(princ *ROUND*)(princ "НЕТ"))
  (princ ">: ")(initget 4)
  (if (null (setq poz (getdist)))
    (setq poz (if (numberp *ROUND*) *ROUND*  0))
  ) ;_ end of if
  (if (zerop poz)(setq *ROUND* nil)(setq *ROUND* poz)) ;_ end of if
  (princ "\nНачальный номер <")(princ *STARTPOZ*)(princ ">: ")
  (if (null(setq i (getint)))(setq i *STARTPOZ*)(setq *STARTPOZ* i))
  (if (and (setq ss (ssget '((0 . "INSERT") (66 . 1))))
           (princ "\nЭтап 1. Построение списка блоков.")
           (setq lstLen (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
      ) ;_ end of and
    (progn
      (princ "\nЭтап 2. Анализ блоков.")
      (setq i      0
            lstLen (mapcar 'vlax-ename->vla-object lstlen)
      ) ;_ end of setq
      (foreach blk lstLen
        (setq name (cond
                     ((and (vlax-property-available-p blk 'isdynamicblock)
                           (= (vla-get-isdynamicblock blk) :vlax-true)
                      ) ;_ end of and 
                      (vla-get-effectivename blk)
                     )
                     (t (vla-get-name blk))
                   ) ;_ end of cond
              i    (1+ i)
        ) ;_ end of setq 
        (if
          (and (wcmatch (strcase name) (strcase bname))
               (setq dp1 (GetDynamicBlockPropertyNameValue blk dynProp1))
               (setq dp2 (GetDynamicBlockPropertyNameValue blk dynProp2))
          ) ;_ end of and
           (progn
             (if (numberp *ROUND*)
                 (setq dp1 (round dp1 *ROUND*)
                       dp2 (round dp2 *ROUND*)
                       )
             ) ;_ end of if
             (setq lst
                    (cons (strcat (rtos dp1 2 9) ":" (rtos dp2 2 9)) lst)
             ) ;_ end of setq
           ) ;_ end of progn
        ) ;_ end of if
 ;_ end of if 
      ) ;_ end of foreach
      (princ "... Обработано ")(princ i)(princ " блоков")
      (princ "\nЭтап 3. Построение списка из уникальных значений.")
      (setq lst (SORTSTRINGWITHNUMBERASNUMBER (RemoveDuplicateStrings lst) nil))
      (princ "\nЭтап 4. Обновление атрибутов блоков.")
      (setq i 0)
      (foreach blk lstLen
        (setq name (cond
                     ((and (vlax-property-available-p blk 'isdynamicblock)
                           (= (vla-get-isdynamicblock blk) :vlax-true)
                      ) ;_ end of and 
                      (vla-get-effectivename blk)
                     )
                     (t (vla-get-name blk))
                   ) ;_ end of cond
              i    (1+ i)
        ) ;_ end of setq 
        (if
          (and (wcmatch (strcase name) (strcase bname))
               (setq dp1 (GetDynamicBlockPropertyNameValue blk dynProp1))
               (setq dp2 (GetDynamicBlockPropertyNameValue blk dynProp2))
               (if (numberp *ROUND*)
                 (setq dp1 (round dp1 *ROUND*)
                       dp2 (round dp2 *ROUND*)
                 ) ;_ end of setq
                 t
               ) ;_ end of if
               (setq poz (vl-position
                           (strcat (rtos dp1 2 9) ":" (rtos dp2 2 9))
                           lst
                         ) ;_ end of vl-position
               ) ;_ end of setq
          ) ;_ end of and
           (progn
             (mip-block-setattr-bylist
               blk
               (list (cons (strcase attTo)
                           (strcat *PREF* (itoa (+ *STARTPOZ* poz)) *SUFF*)
                     ) ;_ end of cons
               ) ;_ end of list
             ) ;_ end of mip-block-setattr-bylist
           ) ;_ end of progn
        ) ;_ end of if
 ;_ end of if 
      ) ;_ end of foreach
      (setq *STARTPOZ* (+ *STARTPOZ* (length lst)))
      (princ "... Обновлено ")(princ i)(princ " атрибутов в блоках \n")
      (vla-regen adoc acactiveviewport)
    ) ;_ end of progn 
  ) ;_ end of if
  (setvar "DIMZIN" dimz)
  (vla-endundomark adoc)(princ)
) ;_ end of defun
Настройки см. здесь
Код:
[Выделить все]
 (setq bname "*") ;_Имя блока 
  (setq dynProp1 "Высота(H) кассеты") ;_Имя динамического свойства1
  (setq dynProp2 "Ширина(B) кассеты") ;_Имя динамического свойства1
  (setq attTo "NAME") ;_Имя аттрибута куда вбивать
ПРИМЕР см. #168
Миниатюры
Нажмите на изображение для увеличения
Название: ndb1.png
Просмотров: 625
Размер:	83.7 Кб
ID:	71148  
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 09.12.2011 в 15:17. Причина: Сортировка+нумерация с любой позиции
VVA вне форума  
 
Непрочитано 03.03.2011, 23:02
#164
Farest-1

Конструктор
 
Регистрация: 19.12.2005
Подольск
Сообщений: 54
<phrase 1= Отправить сообщение для Farest-1 с помощью Skype™


VVA
Спасибо Большое работает по маркировке как нужно.
Вопрос что то не пойму про округление (возможно что то не так делаю-но там всё прописано какое значение ввести но увы не хочет округлять).
Или мы друг друга не понимаем, лучше выложу файл .
В файле (для наглядности 4-блока) у 1-го изменил высоту на 0.5мм у 2-го ширину 0.5мм - в итоге нужно округлить значения в кратное значение больше или меньше.
Вложения
Тип файла: rar Округление.rar (38.0 Кб, 91 просмотров)
Farest-1 вне форума  
 
Непрочитано 04.03.2011, 11:18
#165
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Farest-1 Посмотреть сообщение
Вопрос что то не пойму про округление
Округление запрашивает кратность округления.
Если на запрос "Округление (5 - кратно 5; 0.5 - кратно 0.5) или 0 - нет <НЕТ>:" ввести
1 - число 850 округлиться до 850
- число 851 округлиться до 851
- число 853 округлиться до 853
5 - число 850 округлиться до 850
- число 851 округлиться до 850
- число 853 округлиться до 855
0.5 - число 850.2 округлиться до 850
- число 850.3 округлиться до 850.5
- число 850.7 округлиться до 850.5
В твоем случае введи 5
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.11.2011, 16:43
#166
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


VVA замечательная программа
Лисп не знаю, но в этих строках так и должно быть? (setq dp2 (round dp1 *ROUND*)) и dp2 (round dp1 *ROUND*) или надо (setq dp2 (round dp2 *ROUND*)) и dp2 (round dp2 *ROUND*).
Просто жизненно необходимо сделать сортировку при назначении позиции, сначала пройтись по dynProp1, затем по dynProp2, а то получается при анализе какая то каша. Программа очень очень нужная, пожалуйста добавьте эту возможность.
Alex_80 вне форума  
 
Непрочитано 24.11.2011, 17:55
#167
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Alex_80 Посмотреть сообщение
исп не знаю, но в этих строках так и должно быть? (setq dp2 (round dp1 *ROUND*)) и dp2 (round dp1 *ROUND*)
Так не должно быть, это опечатка
Я исправил #163

Цитата:
Сообщение от Alex_80 Посмотреть сообщение
Программа очень очень нужная, пожалуйста добавьте эту возможность.
Это изменение решает проблему? Если нет, то нужно ТЗ поподробнее и пример ввиде dwg файла
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.11.2011, 21:51
#168
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Создал ТЗ.dwg. Там в таблице принцип группировки и объединения блоков по динамическим свойствам. Плюс для универсальности можно добавить возможность нумеровать с любой позиции. Например: «Команда: Введите позицию маркировки <1>: »
Вложения
Тип файла: dwg
DWG 2007
ТЗ.dwg (105.1 Кб, 2505 просмотров)
Alex_80 вне форума  
 
Непрочитано 25.11.2011, 12:03
#169
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Сортировку сделал. Поправил еще один баг. См. #163
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.11.2011, 13:21
#170
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Спасибо. Опробовал на двух разных динамических блоках. Всё получилось. Тестировал на AutoCAD 2012 32bit. Забивал в dynProp1 и dynProp2 разные свойства, нумерация чётко шла в зависимости от принятых свойств с сортировкой сначала по dynProp1, затем по dynProp2. Буду тестировать на более крупных объектах, через две недели отпишусь. Ещё раз спасибо.

Последний раз редактировалось Alex_80, 25.11.2011 в 13:27.
Alex_80 вне форума  
 
Непрочитано 03.12.2011, 14:12
#171
VENfas


 
Регистрация: 27.05.2010
Москва
Сообщений: 11


Спасибо, очень полезный макрос. Тестировал на AutoCAD 2012 32bit rus.
Единственное что не получилось, это пробел в префиксе и суффиксе, (т.е. ставишь пробел, в префиксе он опять спрашивает и так по кругу)
Цитата:
Сообщение от Alex_80 Посмотреть сообщение
Плюс для универсальности можно добавить возможность нумеровать с любой позиции
И нумерация с любой позиции весьма полезна.
VENfas вне форума  
 
Непрочитано 04.12.2011, 18:51
#172
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Цитата:
Сообщение от VENfas Посмотреть сообщение
Единственное что не получилось, это пробел в префиксе и суффиксе, (т.е. ставишь пробел, в префиксе он опять спрашивает и так по кругу)
Вместо пробелов жми Enter.
Alex_80 вне форума  
 
Непрочитано 05.12.2011, 10:44
1 | #173
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от VENfas Посмотреть сообщение
Единственное что не получилось, это пробел в префиксе и суффиксе
Просто пробел означает очистку префикса и суффикса.
Цитата:
Введите префикс или Пробел - нет <>:
Цитата:
И нумерация с любой позиции весьма полезна.
Раз полезна, добавил. См. #163
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.12.2011, 09:50
#174
VENfas


 
Регистрация: 27.05.2010
Москва
Сообщений: 11


Цитата:
Сообщение от VVA Посмотреть сообщение
И нумерация с любой позиции весьма полезна.
Раз полезна, добавил. См. #163
СПАСИБО все работает!
VENfas вне форума  
 
Непрочитано 08.12.2011, 13:46
#175
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Спасибо за труд. Возникли вопросы.
Почему при: «Округление (5 - кратно 5; 0.5 - кратно 0.5) или 0 - нет <НЕТ>: 0», десятичные значения все равно округляются до целых? В общем, я то же не понял принцип округления. На мой взгляд «Кратность» полезная штука, её нужно оставить, только при нуле пусть не работает, и добавить «Округление», как количество знаков после запятой.
Вложения
Тип файла: dwg
DWG 2007
Округление2.dwg (103.7 Кб, 2392 просмотров)
Alex_80 вне форума  
 
Непрочитано 08.12.2011, 15:38
#176
vporsh


 
Регистрация: 06.09.2009
Сообщений: 24


не работает
какими должны быть исходные блоки?
пишет в конце "обновлено . . . блоков" и ничего не изменилось
vporsh вне форума  
 
Непрочитано 08.12.2011, 15:51
#177
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Alex_80,
Цитата:
Сообщение от Alex_80 Посмотреть сообщение
Почему при: «Округление (5 - кратно 5; 0.5 - кратно 0.5) или 0 - нет <НЕТ>: 0», десятичные значения все равно округляются до целых?
Я не учитывал DIMZIN. Исправил. См. #163

Цитата:
Сообщение от Alex_80 Посмотреть сообщение
только при нуле пусть не работает
Она и не работала. Это было из-за DIMZIN

Цитата:
Сообщение от Alex_80 Посмотреть сообщение
и добавить «Округление», как количество знаков после запятой
А это для чего? я же ни куда не вывожу размеры?
Добавил в #163 печать даты сборки. Чтобы было понятно, что говорим про одну и ту же версию кода
Цитата:
Команда: ndb
NDB - Маркировка динамических блоков. сборка от 2011-12-08
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.12.2011, 16:24
#178
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Цитата:
Сообщение от vporsh Посмотреть сообщение
какими должны быть исходные блоки?
ПРИМЕР см. #168
Alex_80 вне форума  
 
Непрочитано 08.12.2011, 16:33
1 | #179
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от vporsh Посмотреть сообщение
какими должны быть исходные блоки?
Блоки могут быть любыми. Главное программе указать, какие динамические свойства считывать и в какой атрибут записывать. Настройки см. выделенное красным в #163. Либо используй блок из примера #168
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.12.2011, 16:35
#180
vporsh


 
Регистрация: 06.09.2009
Сообщений: 24


Ваш пример изучал, но все равно не получается
капировал один из блоков потом ndb и . . . ничего
vporsh вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Сквозная нумерация динамических блоков

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск