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

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

Текст наименования Слоя

Ответ
Поиск в этой теме
Непрочитано 24.06.2008, 14:05 #1
Текст наименования Слоя
Bdod
 
Регистрация: 30.05.2006
Сообщений: 91

Доброго времени суток!
вопрос вот в чем, есть много слоев, например геоподоснова, нужна команда или lisp, которая при указании линии (тыкаем по чертежу) считывает с нее имя слоя и потом указываем место положение текста и она вставляет текст с именем выбранного слоя...


P/S/ объяснил как смог)... не ругайте за грамотность...
Просмотров: 4550
 
Непрочитано 24.06.2008, 14:07
#2
Кулик Алексей aka kpblc
Moderator

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


_field - вот и весь лисп.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 24.06.2008, 14:15
#3
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


спсибо большое, разобрался

Последний раз редактировалось Bdod, 24.06.2008 в 14:19. Причина: разобрался
Bdod вне форума  
 
Непрочитано 24.06.2008, 14:21
#4
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,826
<phrase 1=


объект - выбор объекта и выбираешь из списка что надо
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon на форуме  
 
Непрочитано 25.06.2008, 03:57
#5
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от Bdod Посмотреть сообщение
нужна команда или lisp, которая при указании линии (тыкаем по чертежу) считывает с нее имя слоя и потом указываем место положение текста и она вставляет текст с именем выбранного слоя.
Вот вам пример, что имена слоев надо давать по технологии!!! А не так: Основная, штрихпунктирная и пр. Bdod, если-бы у тебя имена слоев были названы как в моем примере, насколько бы это затруднило твою работу?
Vova вне форума  
 
Непрочитано 25.06.2008, 09:11
#6
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Цитата:
Сообщение от Vova Посмотреть сообщение
Вот вам пример, что имена слоев надо давать по технологии!!! А не так: Основная, штрихпунктирная и пр. Bdod, если-бы у тебя имена слоев были названы как в моем примере, насколько бы это затруднило твою работу?
Вова, ты про что? Вопроса автора вообще не касается (ответ был дан ранее). Да и оффтоп не к месту - не надо объединять всех в кучу. У маш-стр-лей никаких доп. слоев обычно не требуется, кроме как "основная", "осевая" и т.п. И тогда текст такой, есс-но, не нужен. Короче, был вопрос, был ответ и не надо отклонять тему во флуд. It's all.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 25.06.2008, 09:49
#7
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Какая-то фигня, IMHO, здесь обсуждается. На какой слой должен вставляться текст с именем слоя? Ну, вставилось название слоя "Геоподоснова" - и что это дает? Как объекты, находящиеся на слое "Геоподоснова" идентифицируются с текстовой строкой "Геоподоснова"? Можно придумать такое применение данной процедуры: допустим, мы имеем текст "Геоподоснова", который написан на слое "Геоподоснова". Тогда, воспользовавшись командами ET, можно отключить, заморозить, заблокировать или изолировать этот слой, кликнув на тексте "Геоподоснова". Но тогда в макросе или в лиспе этот слой должен назначиться текущим и только после этого можно размещать на нем текст с именем слоя. Но тогда зачем лес городить? Сделал текущим нужный слой и пиши на нем имя этого слоя. А так что может получиться? Ткнули мы на объект, потом указали точку вставки текста. Написалось "Геоподоснова". Ткнули на другой объект, указали точку вставки текста... Блин, опять написалось "Геоподоснова".
Вот вам и флуд.
Profan вне форума  
 
Непрочитано 25.06.2008, 10:27
#8
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


По тексту вопрошающего видно, что слой ДЛЯ РАСПОЛОЖЕНИЯ ТЕКСТА неважен. Главное, он должен автоматом вписать название слоя "ткнутого" элемента. Поэтому, Profan, успокойся, выпей кофе...
__________________
Век живи, век учись - ...
Bull вне форума  
 
Автор темы   Непрочитано 25.06.2008, 10:31
#9
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Profan Посмотреть сообщение
Какая-то фигня, IMHO, здесь обсуждается. На какой слой должен вставляться текст с именем слоя? Ну, вставилось название слоя "Геоподоснова" - и что это дает? Как объекты, находящиеся на слое "Геоподоснова" идентифицируются с текстовой строкой "Геоподоснова"? Можно придумать такое применение данной процедуры: допустим, мы имеем текст "Геоподоснова", который написан на слое "Геоподоснова". Тогда, воспользовавшись командами ET, можно отключить, заморозить, заблокировать или изолировать этот слой, кликнув на тексте "Геоподоснова". Но тогда в макросе или в лиспе этот слой должен назначиться текущим и только после этого можно размещать на нем текст с именем слоя. Но тогда зачем лес городить? Сделал текущим нужный слой и пиши на нем имя этого слоя. А так что может получиться? Ткнули мы на объект, потом указали точку вставки текста. Написалось "Геоподоснова". Ткнули на другой объект, указали точку вставки текста... Блин, опять написалось "Геоподоснова".
Вот вам и флуд.
вопрос наверное не доконца поняли... есть файл Геоподоснова.dwg
в нем в разные слоя, например водосток, ливневка, кабели такие сякие... этими слоями соответственно начерчены различные коммуникации... и для того чтобы сделать быстро схемку коммун. вокруг какойнить опоры, щелк по линии, щелк и рядом встало название коммуникации соответствующее имени слоя... конечно в этом случае нужна четкость соответствия имени слоя с начерченным объектом...но геоподоснову обычно делять по слоям четко, другое дело некоторые слои имеют название lavel1, lavel2 и т.д. но это поправимо...
Bdod вне форума  
 
Автор темы   Непрочитано 25.06.2008, 10:34
#10
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Vova Посмотреть сообщение
Вот вам пример, что имена слоев надо давать по технологии!!! А не так: Основная, штрихпунктирная и пр. Bdod, если-бы у тебя имена слоев были названы как в моем примере, насколько бы это затруднило твою работу?
жжжутко не удобно, когда чертеж нарисован основной, пунктирной и осевой...все нужно делить по конструктивом, можно даже и этот вариант унифицировать, например основной_ростверк, основной_стойка и т.д... работать с таким чертежом куда удобнее будет...
Bdod вне форума  
 
Непрочитано 25.06.2008, 10:56
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Bdod, я как раз сейчас работаю с подобным файлом. Слоев - море и имена они имеют типа "GAZOPROVOD", KAB_MOSENERGO", "KANALIZACIA_SAM"... Может, у тебя там есть место, куда можно приткнуть текст, а у меня вот нет такого места. А мне нужно переделать, скажем, электрику по эскизам специалистов (сами они на компьютере не работают). Вот и приходится отключать мешающие слои. Вот про такое применение я и писал. А Bull напрасно сюда влез со своими советами.
Profan вне форума  
 
Непрочитано 25.06.2008, 11:04
#12
Кулик Алексей aka kpblc
Moderator

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


Может, тогда надо не просто текст, а выноску с текстом?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.06.2008, 11:13
#13
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Может, тогда надо не просто текст, а выноску с текстом?
выноску не обязательно, достаточно текста, которой потом сажается на линию, другое дело было бы удобнее чтобы текст вставлялся с тем же уклоном линии, которая выбрана, чтоб потом его дополнительно не раскручивать...
Bdod вне форума  
 
Непрочитано 25.06.2008, 11:14
#14
Кулик Алексей aka kpblc
Moderator

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


Кхек, а если там будет сплайн? Или полилиния не в текущей системе координат? Или вообще твердое тело? Чего, тоже вертеть?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.06.2008, 11:17
#15
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Там еще бывают Млинии и блоки.
Profan вне форума  
 
Автор темы   Непрочитано 25.06.2008, 11:27
#16
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Кхек, а если там будет сплайн? Или полилиния не в текущей системе координат? Или вообще твердое тело? Чего, тоже вертеть?
сплайнов на гео не встречал, они в основном отрезками все отрисовывают, тем более твердых тел... а так всегда можно найти прямой участок , тем более дело касается коммуникаций
Bdod вне форума  
 
Непрочитано 25.06.2008, 12:06
#17
Кулик Алексей aka kpblc
Moderator

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


Тогда (раз уж дуговых сегментов нет) как варинт:
Код:
[Выделить все]
(defun c:insert_layer_field (/ fun_getangle-for-text adoc ent pt prev next res ins)

  (defun fun_getangle-for-text (ang)
    (cond
      ((<= ang (/ pi 2.)) ang)
      ((<= ang pi) (+ ang pi))
      ((<= ang (* 1.5 pi)) (- ang pi))
      (t ang)
      ) ;_ end of cond
    ) ;_ end of defun

  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-StartUndoMark
  (if (and (= (type (car (setq ent
                                (vl-catch-all-apply
                                  '(lambda ()
                                     (entsel
                                       "\nВыберите объект отрезка или полилинии <Отмена> : "
                                       ) ;_ end of entsel
                                     ) ;_ end of lambda
                                  ) ;_ end of vl-catch-all-apply
                               ) ;_ end of setq
                         ) ;_ end of car
                    ) ;_ end of type
              'ename
              ) ;_ end of =
           (member (cdr (assoc 0 (entget (car ent)))) '("LINE" "LWPOLYLINE"))
           ) ;_ end of and
    (progn
      (setq pt   (vlax-curve-getclosestpointto (car ent) (cadr ent))
            ent  (vlax-ename->vla-object (car ent))
            prev (cond
                   ((= (vla-get-objectname ent) "AcDbLine")
                    (vlax-safearray->list
                      (vlax-variant-value (vla-get-startpoint ent))
                      ) ;_ end of vlax-safearray->list
                    )
                   (t
                    (vlax-safearray->list
                      (vlax-variant-value
                        (vla-get-coordinate
                          ent
                          (cond
                            ((= (vlax-curve-getparamatpoint ent pt) 0.)
                             0
                             )
                            ((= (type (vlax-curve-getparamatpoint ent pt)) 'int)
                             (1- (vlax-curve-getparamatpoint ent pt))
                             )
                            (t (fix (vlax-curve-getparamatpoint ent pt)))
                            ) ;_ end of cond
                          ) ;_ end of vla-get-Coordinate
                        ) ;_ end of vlax-variant-value
                      ) ;_ end of vlax-safearray->list
                    )
                   ) ;_ end of cond
            next (cond
                   ((= (vla-get-objectname ent) "AcDbLine")
                    (vlax-safearray->list
                      (vlax-variant-value (vla-get-endpoint ent))
                      ) ;_ end of vlax-safearray->list
                    )
                   (t
                    (vlax-safearray->list
                      (vlax-variant-value
                        (vla-get-coordinate
                          ent
                          (cond
                            ((equal (vlax-curve-getendpoint ent) pt 1e-3)
                             (vlax-safearray-get-u-bound
                               (vlax-variant-value (vla-get-coordinates ent))
                               ) ;_ end of vlax-safearray-get-u-bound
                             )
                            ((= (type (vlax-curve-getparamatpoint ent pt)) 'int)
                             (1+ (vlax-curve-getparamatpoint ent pt))
                             )
                            (t (1+ (fix (vlax-curve-getparamatpoint ent pt))))
                            ) ;_ end of cond
                          ) ;_ end of vla-get-Coordinate
                        ) ;_ end of vlax-variant-value
                      ) ;_ end of vlax-safearray->list
                    )
                   ) ;_ end of cond
            res  (vla-addmtext
                   (vla-objectidtoobject
                     adoc
                     (vla-get-ownerid ent)
                     ) ;_ end of vla-objectidtoobject
                   (setq ins
                          (vlax-3d-point
                            (polar
                              pt
                              (+ (fun_getangle-for-text (angle prev next)) (/ pi 2.))
                              (/ (getvar "textsize") 2.)
                              ) ;_ end of polar
                            ) ;_ end of vlax-3d-point
                         ) ;_ end of setq
                   0.
                   (strcat "%<\\AcObjProp Object(%<\\_ObjId "
                           (vl-princ-to-string (vla-get-objectid ent))
                           ">%).Layer>%"
                           ) ;_ end of strcat
                   ) ;_ end of vla-addmtext
            ) ;_ end of setq
      (foreach item
               (list (cons "Normal" (vla-get-normal ent))
                     (cons "Rotation" (fun_getangle-for-text (angle prev next)))
                     (cons "AttachmentPoint" 8)
                     (cons "InsertionPoint" ins)
                     ) ;_ end of list
        (vl-catch-all-apply
          '(lambda () (vlax-put-property res (car item) (cdr item)))
          ) ;_ end of vl-catch-all-apply
        ) ;_ end of foreach
      ) ;_ end of progn
    ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.06.2008, 12:35
#18
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Тогда (раз уж дуговых сегментов нет) как варинт:
Код:
[Выделить все]
(defun c:insert_layer_field (/ fun_getangle-for-text adoc ent pt prev next res ins)

  (defun fun_getangle-for-text (ang)
    (cond
      ((<= ang (/ pi 2.)) ang)
      ((<= ang pi) (+ ang pi))
      ((<= ang (* 1.5 pi)) (- ang pi))
      (t ang)
      ) ;_ end of cond
    ) ;_ end of defun

  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-StartUndoMark
  (if (and (= (type (car (setq ent
                                (vl-catch-all-apply
                                  '(lambda ()
                                     (entsel
                                       "\nВыберите объект отрезка или полилинии <Отмена> : "
                                       ) ;_ end of entsel
                                     ) ;_ end of lambda
                                  ) ;_ end of vl-catch-all-apply
                               ) ;_ end of setq
                         ) ;_ end of car
                    ) ;_ end of type
              'ename
              ) ;_ end of =
           (member (cdr (assoc 0 (entget (car ent)))) '("LINE" "LWPOLYLINE"))
           ) ;_ end of and
    (progn
      (setq pt   (vlax-curve-getclosestpointto (car ent) (cadr ent))
            ent  (vlax-ename->vla-object (car ent))
            prev (cond
                   ((= (vla-get-objectname ent) "AcDbLine")
                    (vlax-safearray->list
                      (vlax-variant-value (vla-get-startpoint ent))
                      ) ;_ end of vlax-safearray->list
                    )
                   (t
                    (vlax-safearray->list
                      (vlax-variant-value
                        (vla-get-coordinate
                          ent
                          (cond
                            ((= (vlax-curve-getparamatpoint ent pt) 0.)
                             0
                             )
                            ((= (type (vlax-curve-getparamatpoint ent pt)) 'int)
                             (1- (vlax-curve-getparamatpoint ent pt))
                             )
                            (t (fix (vlax-curve-getparamatpoint ent pt)))
                            ) ;_ end of cond
                          ) ;_ end of vla-get-Coordinate
                        ) ;_ end of vlax-variant-value
                      ) ;_ end of vlax-safearray->list
                    )
                   ) ;_ end of cond
            next (cond
                   ((= (vla-get-objectname ent) "AcDbLine")
                    (vlax-safearray->list
                      (vlax-variant-value (vla-get-endpoint ent))
                      ) ;_ end of vlax-safearray->list
                    )
                   (t
                    (vlax-safearray->list
                      (vlax-variant-value
                        (vla-get-coordinate
                          ent
                          (cond
                            ((equal (vlax-curve-getendpoint ent) pt 1e-3)
                             (vlax-safearray-get-u-bound
                               (vlax-variant-value (vla-get-coordinates ent))
                               ) ;_ end of vlax-safearray-get-u-bound
                             )
                            ((= (type (vlax-curve-getparamatpoint ent pt)) 'int)
                             (1+ (vlax-curve-getparamatpoint ent pt))
                             )
                            (t (1+ (fix (vlax-curve-getparamatpoint ent pt))))
                            ) ;_ end of cond
                          ) ;_ end of vla-get-Coordinate
                        ) ;_ end of vlax-variant-value
                      ) ;_ end of vlax-safearray->list
                    )
                   ) ;_ end of cond
            res  (vla-addmtext
                   (vla-objectidtoobject
                     adoc
                     (vla-get-ownerid ent)
                     ) ;_ end of vla-objectidtoobject
                   (setq ins
                          (vlax-3d-point
                            (polar
                              pt
                              (+ (fun_getangle-for-text (angle prev next)) (/ pi 2.))
                              (/ (getvar "textsize") 2.)
                              ) ;_ end of polar
                            ) ;_ end of vlax-3d-point
                         ) ;_ end of setq
                   0.
                   (strcat "%<\\AcObjProp Object(%<\\_ObjId "
                           (vl-princ-to-string (vla-get-objectid ent))
                           ">%).Layer>%"
                           ) ;_ end of strcat
                   ) ;_ end of vla-addmtext
            ) ;_ end of setq
      (foreach item
               (list (cons "Normal" (vla-get-normal ent))
                     (cons "Rotation" (fun_getangle-for-text (angle prev next)))
                     (cons "AttachmentPoint" 8)
                     (cons "InsertionPoint" ins)
                     ) ;_ end of list
        (vl-catch-all-apply
          '(lambda () (vlax-put-property res (car item) (cdr item)))
          ) ;_ end of vl-catch-all-apply
        ) ;_ end of foreach
      ) ;_ end of progn
    ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
стыдно... но так и не знаю что делать с этим текстовым lisp? его нужно скопировать и вставить в текстовый документ с именем ***.lsp или как...
Bdod вне форума  
 
Автор темы   Непрочитано 25.06.2008, 12:42
#19
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Тогда (раз уж дуговых сегментов нет) как варинт:
Код:
[Выделить все]
(defun c:insert_layer_field (/ fun_getangle-for-text adoc ent pt prev next res ins)

  (defun fun_getangle-for-text (ang)
    (cond
      ((<= ang (/ pi 2.)) ang)
      ((<= ang pi) (+ ang pi))
      ((<= ang (* 1.5 pi)) (- ang pi))
      (t ang)
      ) ;_ end of cond
    ) ;_ end of defun

  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-StartUndoMark
  (if (and (= (type (car (setq ent
                                (vl-catch-all-apply
                                  '(lambda ()
                                     (entsel
                                       "\nВыберите объект отрезка или полилинии <Отмена> : "
                                       ) ;_ end of entsel
                                     ) ;_ end of lambda
                                  ) ;_ end of vl-catch-all-apply
                               ) ;_ end of setq
                         ) ;_ end of car
                    ) ;_ end of type
              'ename
              ) ;_ end of =
           (member (cdr (assoc 0 (entget (car ent)))) '("LINE" "LWPOLYLINE"))
           ) ;_ end of and
    (progn
      (setq pt   (vlax-curve-getclosestpointto (car ent) (cadr ent))
            ent  (vlax-ename->vla-object (car ent))
            prev (cond
                   ((= (vla-get-objectname ent) "AcDbLine")
                    (vlax-safearray->list
                      (vlax-variant-value (vla-get-startpoint ent))
                      ) ;_ end of vlax-safearray->list
                    )
                   (t
                    (vlax-safearray->list
                      (vlax-variant-value
                        (vla-get-coordinate
                          ent
                          (cond
                            ((= (vlax-curve-getparamatpoint ent pt) 0.)
                             0
                             )
                            ((= (type (vlax-curve-getparamatpoint ent pt)) 'int)
                             (1- (vlax-curve-getparamatpoint ent pt))
                             )
                            (t (fix (vlax-curve-getparamatpoint ent pt)))
                            ) ;_ end of cond
                          ) ;_ end of vla-get-Coordinate
                        ) ;_ end of vlax-variant-value
                      ) ;_ end of vlax-safearray->list
                    )
                   ) ;_ end of cond
            next (cond
                   ((= (vla-get-objectname ent) "AcDbLine")
                    (vlax-safearray->list
                      (vlax-variant-value (vla-get-endpoint ent))
                      ) ;_ end of vlax-safearray->list
                    )
                   (t
                    (vlax-safearray->list
                      (vlax-variant-value
                        (vla-get-coordinate
                          ent
                          (cond
                            ((equal (vlax-curve-getendpoint ent) pt 1e-3)
                             (vlax-safearray-get-u-bound
                               (vlax-variant-value (vla-get-coordinates ent))
                               ) ;_ end of vlax-safearray-get-u-bound
                             )
                            ((= (type (vlax-curve-getparamatpoint ent pt)) 'int)
                             (1+ (vlax-curve-getparamatpoint ent pt))
                             )
                            (t (1+ (fix (vlax-curve-getparamatpoint ent pt))))
                            ) ;_ end of cond
                          ) ;_ end of vla-get-Coordinate
                        ) ;_ end of vlax-variant-value
                      ) ;_ end of vlax-safearray->list
                    )
                   ) ;_ end of cond
            res  (vla-addmtext
                   (vla-objectidtoobject
                     adoc
                     (vla-get-ownerid ent)
                     ) ;_ end of vla-objectidtoobject
                   (setq ins
                          (vlax-3d-point
                            (polar
                              pt
                              (+ (fun_getangle-for-text (angle prev next)) (/ pi 2.))
                              (/ (getvar "textsize") 2.)
                              ) ;_ end of polar
                            ) ;_ end of vlax-3d-point
                         ) ;_ end of setq
                   0.
                   (strcat "%<\\AcObjProp Object(%<\\_ObjId "
                           (vl-princ-to-string (vla-get-objectid ent))
                           ">%).Layer>%"
                           ) ;_ end of strcat
                   ) ;_ end of vla-addmtext
            ) ;_ end of setq
      (foreach item
               (list (cons "Normal" (vla-get-normal ent))
                     (cons "Rotation" (fun_getangle-for-text (angle prev next)))
                     (cons "AttachmentPoint" 8)
                     (cons "InsertionPoint" ins)
                     ) ;_ end of list
        (vl-catch-all-apply
          '(lambda () (vlax-put-property res (car item) (cdr item)))
          ) ;_ end of vl-catch-all-apply
        ) ;_ end of foreach
      ) ;_ end of progn
    ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
да кстате спасибо за код... оказался очень ценным...
ну а сделал как написал по старинке, вставил в текстовый документ, а в акаде через load загрузил и вперед...
Bdod вне форума  
 
Непрочитано 25.06.2008, 12:47
#20
Кулик Алексей aka kpblc
Moderator

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


dwg.ru/art/8
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Текст наименования Слоя

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст вдоль полилинии или сплайна (по кривой) Denioska AutoCAD 48 10.09.2022 21:55
При экспортировании чертежа в Автокад не читается русский текст Dag AutoCAD 14 06.11.2009 08:59
Как наложить обычный текст на 3D модель Denim_ok AutoCAD 7 26.03.2009 10:50
Не отображается текст V0vik AutoCAD 10 19.05.2007 11:55
Многострочный текст в атрибутах медвежонок AutoCAD 1 09.06.2006 12:05