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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Расстановка номеров пикетов по трассе трубопровода.

Расстановка номеров пикетов по трассе трубопровода.

Ответ
Поиск в этой теме
Непрочитано 19.06.2009, 13:12
Расстановка номеров пикетов по трассе трубопровода.
Jeriko
 
Регистрация: 18.06.2009
Сообщений: 118

Имеется план трассы трубопровода, необходимо каждые 100м проставить номер пикета (ПК00+00, ПК01+00...ПК99+00).

С помощью команды _measure можно проставить пикетаж по трассе, но тогда номера пикетов приходится проставлять вручную, что при большой длине трассы занимает довольно много времени.

Отсюда вопрос: каким образом можно научить автокад, автоматически проставлять номера пикетов по возрастающей ПК00+00, ПК01+00 и тд?Есть ли возможность реализовать это с помощью динамического блока? Или с помощью команды _dataextraction, можно ли создать связь с экселем , таким образом чтобы при изменении значения в экселе менялось значение текста на самом чертеже?
Просмотров: 53164
 
Непрочитано 10.07.2009, 15:10
#61
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409


Да хреново Некогда
Обработчик диалога переписываю уже в 4 раз
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.07.2009, 11:26
#62
Bart


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


Я тут воспользовался xblocknum (в самом первом сообщении есть ссылка), немного поправил под себя, но я не знаю как реализовать один момент, чтобы программа меняла номера не одного атрибута, а и второго тоже, который в этом же блоке и с тем же значением. Даже название этого атрибута может быть тем же.
У меня есть клемма, на клемме две циферки (номер клеммы) сверху и снизу, вот их то мне и нужно менять.
И как еще выбирать tag нужного атрибута кликом на него, а не задавая в программе? Или такое не выйдет?

Последний раз редактировалось Bart, 23.07.2009 в 14:43.
Bart вне форума  
 
Непрочитано 01.12.2011, 21:49
1 | #63
La Persona

Чайник
 
Регистрация: 01.12.2011
Сообщений: 27


Кулик Алексей aka kpblc, Здравствуйте!
Приходится поднимать старую тему, но рассчитываю на вашу (а может еще кого из знающих людей) помощь.
Лисп изучаю без году неделю, но пытаюсь вникнуть..

В одном из предыдущих сообщений есть код лиспа:

Код:
[Выделить все]
 (vl-load-com) 
(defun c:b2p ( / name_of_bl dis pln dis_pl dis_run i krd prm_pnt
proiz ugol_pl ugol_pl_gr my_blok my_att spis_att
att_old att_new spis_att strt stp)
(setq snp (getvar "Osmode"))
(setvar "Osmode" 0) 
(setq name_of_bl (getstring "Name of blok? "))
(setq dis (getreal "Distance? "))
(setq strt (getint "\nStart number? "))
(setq stp (getint "\nStep? ")) 
(setq pref (getstring "\nPrefiks? "))
(setq suff (getstring "\nSuffiks? "))
(setq pln (car (entsel)))
(setq dis_pl (vlax-curve-getDistAtParam pln (vlax-curve-getEndParam pln)))
(setq dis_run (- 0.0 dis) i (- strt stp))
(while(< (+ dis_run dis) dis_pl)
(progn
(setq i (+ i stp))
(setq dis_run (+ dis_run dis))
(setq krd (vlax-curve-getPointAtDist pln dis_run))
(setq prm_pnt (vlax-curve-getParamAtPoint pln krd))
(setq proiz (vlax-curve-getFirstDeriv pln prm_pnt))
(setq ugol_pl (angle '(0 0 0) proiz))
(setq ugol_pl_gr (* ugol_pl 57.29747))
(setvar "attreq" 0)
(command "_.insert" name_of_bl krd 1.0 1.0 ugol_pl_gr)
(setq my_blok (entlast))
(setq my_att (entnext my_blok))
(setq spis_att (entget my_att)) ;spisok 
(setq att_old (assoc 1 spis_att)) ;name
(setq num_new (itoa i))
(setq num_new (strcat pref num_new suff))) 
(setq att_new (cons 1 num_new)) ;
(setq spis_att (subst att_new att_old spis_att)); zamena
(entmod spis_att)
(entupd (cdr (assoc -1 spis_att)))
) ;progn
)
(setvar "Osmode" snp)
)
Но вот этот кусок кода я никак понять не могу:
Код:
[Выделить все]
 
(setq my_blok (entlast))
(setq my_att (entnext my_blok))
(setq spis_att (entget my_att)) ;spisok 
(setq att_old (assoc 1 spis_att)) ;name
(setq num_new (itoa i))
(setq num_new (strcat pref num_new suff))) 
(setq att_new (cons 1 num_new)) ;
(setq spis_att (subst att_new att_old spis_att)); zamena
(entmod spis_att)
(entupd (cdr (assoc -1 spis_att)))
Можно как-то разжевать этот фрагмент?
La Persona вне форума  
 
Непрочитано 02.12.2011, 19:26
#64
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


(setq my_blok (entlast)) получаем имя блока
(setq my_att (entnext my_blok)) получаем имя атрибута
(setq spis_att (entget my_att)) ;spisok список
(setq att_old (assoc 1 spis_att)) ;name содержимое атрибута
(setq num_new (itoa i)) номер в строку
(setq num_new (strcat pref num_new suff))) добавляем суффикс и префикс
(setq att_new (cons 1 num_new)) ;создаём пару
(setq spis_att (subst att_new att_old spis_att)); zamena замена старой ппары на новую
(entmod spis_att) обновляем
(entupd (cdr (assoc -1 spis_att))) и апдейтим
сколько лет , сколько зим
Victor вне форума  
 
Непрочитано 02.12.2011, 19:53
#65
La Persona

Чайник
 
Регистрация: 01.12.2011
Сообщений: 27


Благодарю, теперь все встало на свои места )
La Persona вне форума  
 
Непрочитано 27.12.2011, 09:44
#66
serg2452


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


to Victor: программа P2B - то, что надо, только есть 2 краеугольных препятствия к ее использованию:1-как сделать так, что бы выбирать нумерацию, с хвоста или головы полилинии? (у полилинии есть вершины и по умолчанию нумрация в программе, идет от 1ой. Если многокилометровая линия нарисована геодезистами не в том направлении, то мне, как проектировщику, не остается никаких шансов, на ее пикетаж, с помощью B2P. )
Помогите пожалуйста!
Допишите код...
и второе - не такое существенное, как сделать так, что бы текст пикетажа("ПК") был относилельно чертежа либо горизонтально, либо вертикально. Т.е. палочка пикетажа - так и осталась перпендикулярно полилинии, а текст, ориентированный в чертеже занимал положение, либо горизонт, либо вертикаль.
Если не сложно, помогите хотя бы с первым!
Заранее спасибо...
serg2452 вне форума  
 
Непрочитано 27.12.2011, 12:28
#67
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


serg2452, команду _reverse к полилинии не судьба применить?
Хмурый вне форума  
 
Непрочитано 27.12.2011, 14:04
#68
serg2452


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


Спасибо добрый человек, нубоват Я малость
serg2452 вне форума  
 
Непрочитано 27.12.2011, 16:29
#69
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


http://forum.dwg.ru/showthread.php?p=857562#post857562

Последний раз редактировалось Victor, 03.01.2012 в 22:04.
Victor вне форума  
 
Непрочитано 21.05.2012, 22:50
#70
Alex II


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ну тогда, как вариант:
Код:
[Выделить все]
(vl-load-com)

(defun test (/                    *error*              blk_name             blk_def              blk_ref
             dist                 prefix               suffix               curve                curve_len
             space                att                  _kpblc-conv-vla-to-list                   _kpblc-conv-ent-to-vla
             _kpblc-conv-ent-to-ename                  fun_conv-list-to-string
             fun_get-attr-by-blockref
             )

  (defun *error* (msg)
    (vla-endundomark adoc)
    (princ msg)
    (princ)
    ) ;_ end of defun

  (defun fun_get-attr-by-blockref (ent)
    (apply (function append)
           (mapcar (function _kpblc-conv-vla-to-list)
                   (list (vla-getattributes ent) (vla-getconstantattributes ent))
                   ) ;_ end of mapcar
           ) ;_ end of apply
    ) ;_ end of defun

  (defun fun_conv-list-to-string (lst sep)
    (cond
      ((listp lst)
       (strcat (vl-princ-to-string (car lst))
               (apply (function strcat)
                      (mapcar
                        (function
                          (lambda (x)
                            (strcat sep (vl-princ-to-string x))
                            ) ;_ end of lambda
                          ) ;_ end of function
                        (cdr lst)
                        ) ;_ end of mapcar
                      ) ;_ end of apply
               ) ;_ end of strcat
       )
      (t
       (vl-princ-to-string lst)
       )
      ) ;_ end of cond
    ) ;_ end of defun

  (defun _kpblc-conv-vla-to-list (value / res)
                                 ;|
*    Преобразовывает vlax-variant или vlax-safearray в список.
|;
    (cond
      ((listp value)
       (mapcar '_kpblc-conv-vla-to-list value)
       )
      ((= (type value) 'variant)
       (_kpblc-conv-vla-to-list (vlax-variant-value value))
       )
      ((= (type value) 'safearray)
       (if (>= (vlax-safearray-get-u-bound value 1) 0)
         (_kpblc-conv-vla-to-list (vlax-safearray->list value))
         ) ;_ end of if
       )
      ((and (member (type value) (list 'ename 'str 'vla-object))
            (setq value (_kpblc-conv-ent-to-vla value))
            (and (= (type value) 'vla-object)
                 (vlax-property-available-p value 'count)
                 ) ;_ end of and
            ) ;_ end of and
       (vlax-for sub (_kpblc-conv-ent-to-vla value)
         (setq res (cons sub res))
         ) ;_ end of vlax-for
       )
      (t value)
      ) ;_ end of cond
    ) ;_ end of defun

  (defun _kpblc-conv-ent-to-vla (ent_value / res)
                                ;|
*    Функция преобразования полученного значения в vla-указатель.
*    Параметры вызова:
*	ent_value	значение, которое надо преобразовать в указатель. Может
*			быть именем примитива, vla-указателем или просто
*			списком.
*			Если не принадлежит ни одному из указанных типов,
*			возвращается nil
*    Примеры вызова:
(_kpblc-conv-ent-to-vla (entlast))
(_kpblc-conv-ent-to-vla (vlax-ename->vla-object (entlast)))
|;
    (cond
      ((= (type ent_value) 'vla-object) ent_value)
      ((= (type ent_value) 'ename) (vlax-ename->vla-object ent_value))
      ((setq res (_kpblc-conv-ent-to-ename ent_value))
       (vlax-ename->vla-object res)
       )
      ) ;_ end of cond
    ) ;_ end of defun

  (defun _kpblc-conv-ent-to-ename (ent_value /)
                                  ;|
*    Функция преобразования полученного значения в ename
*    Параметры вызова:
*	ent_value	значение, которое надо преобразовать в примитив. Может
*			быть именем примитива, vla-указателем или просто
*			списком.
*			Если не принадлежит ни одному из указанных типов,
*			возвращается nil
*    Примеры вызова:
(_kpblc-conv-ent-to-ename (entlast))
(_kpblc-conv-ent-to-ename (vlax-ename->vla-object (entlast)))
|;
    (cond
      ((= (type ent_value) 'vla-object)
       (vlax-vla-object->ename ent_value)
       )
      ((= (type ent_value) 'ename) ent_value)
      ((= (type ent_value) 'str) (handent ent_value))
      ((= (type ent_value) 'list) (cdr (assoc -1 ent_value)))
      (t nil)
      ) ;_ end of cond
    ) ;_ end of defun

  (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
  (if
    (and (= (type
              (setq blk_name (vl-catch-all-apply
                               (function (lambda (/ res)
                                           (cond
                                             ((and (setq res (getstring "\nИмя блока <Указать> : "))
                                                   (/= res "")
                                                   ) ;_ end of and
                                              res
                                              )
                                             (t (cdr (assoc 2 (entget (car (entsel))))))
                                             ) ;_ end of cond
                                           ) ;_ end of lambda
                                         ) ;_ end of function
                               ) ;_ end of vl-catch-all-apply
                    ) ;_ end of setq
              ) ;_ end of type
            'str
            ) ;_ end of =
         (= (type
              (setq blk_def
                     (vl-catch-all-apply
                       (function
                         (lambda () (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) blk_name))
                         ) ;_ end of function
                       ) ;_ end of vl-catch-all-apply
                    ) ;_ end of setq
              ) ;_ end of type
            'vla-object
            ) ;_ end of =
         (= (type (setq dist (vl-catch-all-apply (function (lambda () (getdist "\nРасстояние <Отмена> : "))))))
            'real
            ) ;_ end of =
         (= (type (setq prefix (vl-catch-all-apply (function (lambda () (getstring "\nПрефикс <\"\"> : "))))))
            'str
            ) ;_ end of =
         (= (type (setq suffix (vl-catch-all-apply (function (lambda () (getstring "\nСуффикс <\"\"> : "))))))
            'str
            ) ;_ end of =
         (= (type
              (setq start (vl-catch-all-apply (function (lambda () (getint "\nСтартовый номер <Отмена> : ")))))
              ) ;_ end of type
            'int
            ) ;_ end of =
         (= (type (setq curve (vl-catch-all-apply
                                (function (lambda ()
                                            (princ "\nКривая для обработки : ")
                                            (vlax-ename->vla-object (ssname (ssget "_:E:S" '((0 . "*LINE"))) 0))
                                            ) ;_ end of lambda
                                          ) ;_ end of function
                                ) ;_ end of vl-catch-all-apply
                        ) ;_ end of setq
                  ) ;_ end of type
            'vla-object
            ) ;_ end of =
         (=
           (type
             (setq
               att (vl-catch-all-apply
                     (function
                       (lambda (/ lst)
                         (vlax-for item blk_def
                           (if (wcmatch (strcase (vla-get-objectname item)) "*ATT*")
                             (setq lst (cons item lst))
                             ) ;_ end of if
                           ) ;_ end of vlax-for
                         (cond
                           ((= (length lst) 0)
                            (alert "В выбранном блоке нет атрибутов!")
                            (vla-endundomark adoc)
                            (princ)
                            (exit)
                            )
                           ((= (length lst) 1)
                            (vla-get-tagstring (car lst))
                            )
                           (t
                            (setq lst (mapcar (function vla-get-tagstring) (reverse lst)))
                            (initget (fun_conv-list-to-string lst " "))
                            (getkword
                              (strcat "\nАтрибут для автоназначения [" (fun_conv-list-to-string lst "/") "] <Отмена> : ")
                              ) ;_ end of getkword
                            )
                           ) ;_ end of cond
                         ) ;_ end of lambda
                       ) ;_ end of function
                     ) ;_ end of vl-catch-all-apply
               ) ;_ end of setq
             ) ;_ end of type
           'str
           ) ;_ end of =
         (/= att "")
         ) ;_ end of and
     (progn
       (setq curve_len (vlax-curve-getdistatpoint curve (vlax-curve-getendpoint curve))
             space     (vla-objectidtoobject adoc (vla-get-ownerid curve))
             cur_dist  0.
             ) ;_ end of setq
       (while (<= cur_dist curve_len)
         (setq blk_ref (vla-insertblock
                         space
                         (vlax-3d-point
                           (vlax-curve-getpointatdist curve cur_dist)
                           ) ;_ end of vlax-3d-point
                         blk_name
                         1.
                         1.
                         1.
                         (angle '(0. 0. 0.)
                                (vlax-curve-getfirstderiv
                                  curve
                                  (vlax-curve-getparamatdist curve cur_dist)
                                  ) ;_ end of vlax-curve-getFirstDeriv
                                ) ;_ end of angle
                         ) ;_ end of vla-InsertBlock
               ) ;_ end of setq
         ((lambda (/ att_ref)
            (setq att_ref (car (vl-remove-if-not
                                 (function
                                   (lambda (x)
                                     (wcmatch (strcase (vla-get-tagstring x)) (strcase att))
                                     ) ;_ end of lambda
                                   ) ;_ end of function
                                 (fun_get-attr-by-blockref blk_ref)
                                 ) ;_ end of vl-remove-if-not
                               ) ;_ end of car
                  ) ;_ end of setq
            (vla-put-textstring att_ref (strcat prefix (vl-princ-to-string start) suffix))
            (vla-put-rotation att_ref 0.)
            ) ;_ end of lambda
          )
         (setq start    (1+ start)
               cur_dist (+ cur_dist dist)
               ) ;_ end of setq
         ) ;_ end of while
       ) ;_ end of progn
     ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Уважаемый Алексей!
У меня работает только Ваш лисп (лиспы Виктора почему-то выдают ошибку). Не могли бы Вы подправить свой вышеприведенный лисп, чтобы текст был не горизонтально, а выравнивался бы по линии.

Премного благодарен
Alex II вне форума  
 
Непрочитано 01.05.2013, 12:20
#71
Магадан


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


Цитата:
Сообщение от Victor Посмотреть сообщение
Раз вам так хочется плюс ещё 2 вопроса. На первый если не хотим жмём ENTER. Если хотим жмём S или P .Тогда спросит чего изволите. Тестируйте
Код:
[Выделить все]
(vl-load-com)
(defun c:b2p ( / name_of_bl dis pln dis_pl dis_run i krd prm_pnt
proiz ugol_pl ugol_pl_gr my_blok my_att spis_att
att_old att_new spis_att strt stp)
(setq snp (getvar "Osmode"))
(setvar "Osmode" 0) 
(setq name_of_bl (getstring "Name of blok? "))
(setq dis (getreal "Distance? "))
(setq strt (getint "\nStart number? "))
(setq stp (getint "\nStep? ")) 
(setq flag (getstring "\nS/P? "))
(if(/= "" flag)(setq suf_prf (getstring "\nSuffiks/Prefiks? ")))
(setq pln (car (entsel)))
(setq dis_pl (vlax-curve-getDistAtParam pln (vlax-curve-getEndParam pln)))
(setq dis_run (- 0.0 dis) i (- strt stp))
(while(< (+ dis_run dis) dis_pl)
(progn
(setq i (+ i stp))
(setq dis_run (+ dis_run dis))
(setq krd (vlax-curve-getPointAtDist pln dis_run))
(setq prm_pnt (vlax-curve-getParamAtPoint pln krd))
(setq proiz (vlax-curve-getFirstDeriv pln prm_pnt))
(setq ugol_pl (angle '(0 0 0) proiz))
(setq ugol_pl_gr (* ugol_pl 57.29747))
(setvar "attreq" 0)
(command "_.insert" name_of_bl krd 1.0 1.0 ugol_pl_gr)
(setq my_blok (entlast))
(setq my_att (entnext my_blok))
(setq spis_att (entget my_att)) ;spisok 
(setq att_old (assoc 1 spis_att)) ;name
(setq num_new (itoa i))
(if(or (= flag "s")(= flag "S"))(setq num_new (strcat num_new suf_prf))) 
(if(or (= flag "p")(= flag "P"))(setq num_new (strcat suf_prf num_new))) 
(setq att_new (cons 1 num_new)) ;
(setq spis_att (subst att_new att_old spis_att)); zamena
(entmod spis_att)
(entupd (cdr (assoc -1 spis_att)))
) ;progn
)
(setvar "Osmode" snp)
)
Прошу прощения Уважаемые коллеги, подскажите пожалуйста потемку не как не могу разобрать вообще как это работает..может я что не так делаю...
Прошу яблоками не кидать в меня сразу..
и как работают команды я не программист...только учусь..
Заранее благодарен..
Магадан вне форума  
 
Непрочитано 01.05.2013, 12:28
#72
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,377


Цитата:
Уважаемые коллеги, подскажите пожалуйста потемку не как не могу разобрать вообще как это работает
Как использовать лисп, опубликованный на форуме
__________________
Как-то так.

Последний раз редактировалось sertor, 01.05.2013 в 12:39.
sertor вне форума  
 
Непрочитано 01.05.2013, 13:04
#73
Магадан


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


Спасибо коллега..
прога заработала..
ток после выбора объекта говорит
ошибка: неверное значение аргумента: AcDbCurve 2129677848
что это значит?
Магадан вне форума  
 
Непрочитано 04.06.2015, 14:01
#74
GazRust


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


Доброго всем времени суток Озаботился и я данной проблемой - простановкой пикетов на трассе. Юзаю стандартный кадовский разметчик с блокам для простановки и ставлю отметки через заданный интервал на полилинии. Но по работе часто бывают ситуации когда трассу прокладки приходится менять, переносить и т.д. в результате приходится переставлять занаво эти отметки, что сильно утомляет.
В каде можно сделать динамический блок, в виде линии и отметки с писаниной, которая появляется через заданный интервал, но таким блоком можно сделать только прямолинейный отрезок. В связи с этим вопрос: а нельзя ли запилить такую полилинию, которая сама, динамически проставляла бы заранее заданные отметки с атрибутами через определенный интервал? И чтоб в случае перемещения трассы эти отметки так же динамически смещались?
GazRust вне форума  
 
Непрочитано 04.06.2015, 14:51
#75
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409


В чистом ACAD замучаешься такое делать. Переходи на Civil / Map3D
Цитата:
Сообщение от GazRust Посмотреть сообщение
стандартный кадовский разметчик с блокам для простановки и ставлю отметки через заданный интервал на полилинии
это _.measure, что ли?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.06.2015, 15:21
#76
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,377


GazRust, попробуйте, может устроит этот вариант. Трасса должна быть в виде 3d полилинии (без динамики).
Вложения
Тип файла: zip DR-PK-ROAD_1_2.zip (7.7 Кб, 309 просмотров)
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 04.06.2015, 15:45
#77
GazRust


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


Цитата:
Сообщение от sertor Посмотреть сообщение
GazRust, попробуйте, может устроит этот вариант. Трасса должна быть в виде 3d полилинии (без динамики).
Это.. Это.. ОХРЕНИТЕЛЬНО!!!!!! РАБОТАЕТ!! То что нужно!! Проставил все пикеты! Тогда уж понаглею: а как задать высоту текста (он берется из какого-то стиля?) И размер пикетных плашек?
GazRust вне форума  
 
Непрочитано 04.06.2015, 15:55
#78
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,377


Цитата:
Сообщение от GazRust Посмотреть сообщение
а как задать высоту текста (он берется из какого-то стиля?) И размер пикетных плашек?
Зависит от масштаба, который нужно указать при запросе.
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 22.07.2015, 15:32
#79
Skind4


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



Ребята а можно ли как нибудь эту программу подредактировать так что бы привязку палочки пикета можно было другую делать ( в смысле что бы у нее привязка была не посередине а с краю), и аналогично текст что бы привязывался к краю? хотя я понимаю что это можно вручную сделать)
Skind4 вне форума  
 
Непрочитано 23.07.2015, 13:18
#80
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


Цитата:
Сообщение от Skind4 Посмотреть сообщение
Ребята а можно ли как нибудь эту программу подредактировать
Какую именно? В теме беглым взглядом обнаружил с десяток лиспов.
skkkk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Расстановка номеров пикетов по трассе трубопровода.