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

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

Замена текстого стиля

Ответ
Поиск в этой теме
Непрочитано 24.03.2008, 17:03 #1
Замена текстого стиля
Shoorup
 
Минск
Регистрация: 16.09.2006
Сообщений: 1,587

Может есть программы по замене текстового стиля.
Суть проблемы: Есть куча чертежей. Сделаны они оооочень плохо. Т.е есть ну очень много текстовых стилей, порой даже не используемых или пустых строк. Недавно было принято соглашение по замене текстового стиля на один стандартный. Простое выделение через быстрый выбор и замена не поможет т.к высота и степень сжатия для текста не известна заранее (чертежи разные и делали разные люди). Иногда все текстовые стили (не используемые) удалить не получается или их удаление занимает очень много времени. Хотелосьбы заменять их быстро и безболезненно. т.е. чтобы высота и степень сжатия, наклон сохранялись. а не используемые стили удалялись (пурж не всегда помогает)
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Просмотров: 28744
 
Непрочитано 24.03.2008, 17:13
#2
zenon

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


Быстрый выбор - Мтекст или Текст - присвоить в свойствах нужный стиль.
Только вот что делать с атрибутами в блоках?
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 24.03.2008, 17:26
2 | #3
VVA

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


Опубликовал здесь, но эта тема вроде как ближе
Команда CTS - Change Text Style
Изменяет текстовые стили у всех (тексты, блоки, размеры, таблицы) примитивов
Код:
[Выделить все]
;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2008  DWGru Programmers Group
;;; *
;;; * _dwgru-get-user-dcl (Кандидат)
;;; *
;;; * Запрос значения у пользователя через диалоговое окно
;;; *
;;; *
;;; * 26/01/2008 Версия 0002. Редакция Владимир Азарко (VVA)
;;;              - Выход по двойному клику, если запрещен множественный выбор (multi-nil)
;;;              - Обработка нескольких колонок
;;; * 21/01/2008 Версия 0001. Редакция Владимир Азарко (VVA)
;;; ************************************************************************
 
;;; ************************************************************************
;;; * Library DWGruLispLib Copyright © 2008 DWGru Programmers Group
;;; *
;;; * _dwgru-get-user-dcl (Candidate)
;;; *
;;; * Inquiry of value at the user through a dialogue window
;;; *
;;; *
;;; * 26/01/2008 Version 0002. Edition Vladimir Azarko (VVA)
;;; - the Output on double a clique if the plural choice (multi-nil) is forbidden
;;; - Processing of several columns
;;; * 21/01/2008 Version 0001. Edition Vladimir Azarko (VVA)
 
(defun _DWGRU-GET-USER-DCL (ZAGL        INFO-LIST   MULTI
                            /           FL          RET
                            DCL_ID      MAXROW      MAX_COUNT_COL
                            COUNT_COL   I           LISTBOX_HEIGHT
                            LST         _LOC_FINISH _LOC_CLEAR
                            NCOL
                           )
;|
* ENGLISH
* Inquiry of value at the user through a dialogue window
* Dialogue is formed to "strike"
* the Quantity of lines on page without скроллинга is set by variable MAXROW.
* It is necessary to remember, that number MAXROW increases on 3.
* the Maximum quantity of columns is set by variable MAX_COUNT_COL
* It is published
     http://dwg.ru/f/showthread.php?p=203746#post203746
* Parameters of a call:
    zagl - heading of a window [String]
    info-list - the list of line values[List of String]
    multi - t - the plural choice is resolved, nil-is not present
 
* Returns:
 The list of the chosen lines or nil - a cancelling
* the Example
 (_dwgru-get-user-dcl " Specify a variant " ' ("First " Second " " Third ") nil); _-> ("First") 
 (_dwgru-get-user-dcl " Specify a variant " ' ("First " Second " " Third ") t); _-> ("First " Second ")
 (_dwgru-get-user-dcl " Specify a variant "
   (progn (setq i 0 lst nil) (repeat 205 (setq lst (cons (strcat "Значение-" (itoa (setq i (1 + i)))) lst))) (reverse lst)) nil)
 (_dwgru-get-user-dcl " Specify a variant, using CTRL and SHIFT for a choice "
   (progn (setq i 0 lst nil) (repeat 205 (setq lst (cons (strcat "Значение-" (itoa (setq i (1 + i)))) lst))) (reverse lst)) t)
|;
 
 
                           ;|
* RUS         
* Запрос значения у пользователя через диалоговое окно
* Диалог формируется "налету"
* Количество строк на страницу без скроллинга задается переменной MAXROW.
* Необходимо помнить, что число MAXROW увеличивается на 3.
* Максимальное количество колонок задается переменной MAX_COUNT_COL
* Опубликована
     http://dwg.ru/f/showthread.php?p=203746#post203746
* Параметры вызова:
    zagl - заголовок окна [String]
    info-list - список строковых значений[List of String]
    multi - t - разрешен множественный выбор, nil- нет
 
* Возвращает:
 Список выбранных строк или nil - отмена
* Пример
 (_dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") nil) ;_->("Первый") 
 (_dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") t) ;_->("Первый" "Второй")
 (_dwgru-get-user-dcl "Укажите вариант"
   (progn (setq i 0 lst nil)(repeat 205 (setq lst (cons (strcat "Значение-" (itoa (setq i (1+ i)))) lst)))(reverse lst)) nil)
 (_dwgru-get-user-dcl "Укажите вариант, используя CTRL и SHIFT для выбора"
   (progn (setq i 0 lst nil)(repeat 205 (setq lst (cons (strcat "Значение-" (itoa (setq i (1+ i)))) lst)))(reverse lst)) t)
|;
 ;_ ===== КОНСТАНТЫ ============
  (setq MAXROW 40) ;_макc. кол-во строк без скроллинга (К нему дальше добавится еще 3 строчки)
                   ;_  max lines without scrolling (To it 3 more lines further will be added)
  (setq MAX_COUNT_COL 5) ;_максимальное количество колонок
                         ;_ ; _ a maximum quantity of columns
;;;==================== Локальные фунцкции START==================================
;;;==================== Local functions START==================================
  (defun _LOC_FINISH ()
    (setq I   0
          RET NIL
    ) ;_ end ofsetq
    (repeat COUNT_COL
      (setq I (1+ I))
      (setq RET (cons (cons I (get_tile (strcat "info" (itoa I)))) RET))
    ) ;_ end ofrepeat
    (setq RET (reverse RET))
    (done_dialog 1)
  ) ;_ end ofdefun
  (defun _LOC_CLEAR (NOMER)
    (setq I 0)
    (repeat COUNT_COL
      (setq I (1+ I))
      (if (/= I NOMER)
        (progn
          (start_list (strcat "info" (itoa I)))
          (mapcar 'add_list (nth (1- I) LST))
          (end_list)
        ) ;_ end ofprogn
      ) ;_ end ofif
    ) ;_ end ofrepeat
  ) ;_ end ofdefun
;;;==================== Локальные фунцкции END ==================================
;;;==================== Local functions END ==================================
;;;==================== MAIN PART ===============================================
  (if (null ZAGL)
    (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
      (setq ZAGL "Выбор")
      (setq ZAGL "Select")
    ) ;_ end ofif
  ) ;_ end if
  (if (zerop (rem (length INFO-LIST) MAXROW)) ;_Целое количество столбцов
    (setq COUNT_COL (/ (length INFO-LIST) MAXROW)) ;_Его и оставляем
    (setq COUNT_COL (1+ (fix (/ (length INFO-LIST) MAXROW 1.0)))) ;_Берем ближайшее целое
  ) ;_ end ofif
  (if (> COUNT_COL MAX_COUNT_COL)
    (setq COUNT_COL MAX_COUNT_COL)
  ) ;_Ограничиваем max количеством
  (setq LISTBOX_HEIGHT (+ 3 MAXROW)) ;_  добавляем 3 строчки для красоты и для исключения пограничного скроллинга
                                     ;_ We add 3 lines for appearance and for exception boundary scroll
  (if (and (= COUNT_COL 1) (<= (length INFO-LIST) MAXROW))
    (setq LISTBOX_HEIGHT (+ 3 (length INFO-LIST)))
  ) ;_ end ofif
  (setq I 0)
  (setq FL (vl-filename-mktemp "dwgru" NIL ".dcl"))
  (setq RET (open FL "w")
        LST NIL
  ) ;_ end ofsetq
  (mapcar '(lambda (X) (write-line X RET))
          (append (list "dwgru_get_user : dialog { "
                        (strcat "label=\"" ZAGL "\";")
                        ": boxed_row {"
                        (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
                          "label = \"Значение\";"
                          "label = \"Value\";"
                        ) ;_ end ofif
                  ) ;_ end oflist
                  (repeat COUNT_COL
                    (setq LST
                           (append
                             LST
                             (list
                               " :list_box {"
                               "alignment=top ;"
                               (if MULTI
                                 "multiple_select = true ;"
                                 "multiple_select = false ;"
                               ) ;_ end ofif
                               "width=31 ;"
                               (strcat "height= " (itoa LISTBOX_HEIGHT) " ;")
                               "is_tab_stop = false ;"
                               (strcat "key = \"info" (itoa (setq I (1+ I))) "\";}")
                             ) ;_ end oflist
                           ) ;_ end ofappend
                    ) ;_ end ofsetq
                  ) ;_ end ofrepeat
                  (list
                    "}"
                    ":row{"
                    "ok_cancel_err;}}"
                  ) ;_ end oflist
          ) ;_ end of list
  ) ;_ end of mapcar
  (setq RET (close RET))
  (if (and (null (minusp (setq DCL_ID (load_dialog FL))))
           (new_dialog "dwgru_get_user" DCL_ID)
      ) ;_ end and
    (progn
      (setq LST INFO-LIST)
      ((lambda (/ RET1 BUF ITM)
         (repeat (1- COUNT_COL)
           (setq I '-1)
           (while (and (setq ITM (car LST))
                       (< (setq I (1+ I)) MAXROW)
                  ) ;_ end ofand
             (setq BUF (cons ITM BUF)
                   LST (cdr LST)
             ) ;_ end ofsetq
           ) ;_ end ofwhile
           (setq RET1 (cons (reverse BUF) RET1)
                 BUF  NIL
           ) ;_ end ofsetq
         ) ;_ end ofrepeat
         (setq RET RET1)
       ) ;_ end oflambda
      )
      (if LST
        (setq RET (cons LST RET))
      ) ;_ end ofif
      (setq LST (reverse RET))
      (setq I 0)
      (mapcar '(lambda (THIS_LIST)
                 (if (<= (setq I (1+ I)) COUNT_COL)
                   (progn
                     (start_list (strcat "info" (itoa I)))
                     (mapcar 'add_list THIS_LIST)
                     (end_list)
                   ) ;_ end ofprogn
                 ) ;_ end ofif
               ) ;_ end oflambda
              LST
      ) ;_ end ofmapcar
      (set_tile "info1" "0")
      (setq I 0
            NCOL 1
      ) ;_ end ofsetq
      (repeat COUNT_COL
        (action_tile
          (strcat "info" (itoa (setq I (1+ I))))
          (strcat "(progn (setq Ncol "
                  (itoa I)
                  ")(if (not multi)(_loc_clear Ncol))"
                  "(if (and (not multi)(= $reason 4))(_loc_finish)))"
          ) ;_ end ofstrcat
        ) ;_ end ofaction_tile
      ) ;_ end ofrepeat
      (action_tile "cancel" "(done_dialog 0)")
      (action_tile "accept" "(_loc_finish)")
      (if MULTI
        (set_tile "error"
                  (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
                    "Используйте CTRL и SHIFT для выбора"
                    "Use CTRL and SHIFT for a choicet"
                  ) ;_ end ofif
        ) ;_ end ofset_tile
        (set_tile "error"
                  (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
                    "Можно выбирать двойным щелчком"
                    "It is possible to choose double click"
                  ) ;_ end ofif
        ) ;_ end ofset_tile
      ) ;_ end ofif
      (if (zerop (start_dialog))
        (setq RET NIL)
        (progn
          (setq
            RET (apply
                  'append
                  (mapcar
                    '(lambda (ITM)
                       (setq THIS_LIST (nth (1- (car ITM)) LST))
                       (mapcar
                         (function (lambda (NUM) (nth NUM THIS_LIST)))
                         (read (strcat "(" (cdr ITM) ")"))
                       ) ;_ end ofmapcar
                     ) ;_ end oflambda
                    RET
                  ) ;_ end ofmapcar
                ) ;_ end ofapply
          ) ;_ end ofsetq
        ) ;_ end ofprogn
      ) ;_ end if
      (unload_dialog DCL_ID)
    ) ;_ end of progn
  ) ;_ end of if
  (vl-file-delete FL)
  RET
) ;_ end ofdefun
 
;Extensions:
;It is possible to add bulged segments too by extending the data structure "segment" with (p1 p2 bulge) for curved segments and use a line-arc resp. arc-arc intersection method for those. Then a straight segment is still representable with (p1 p2) 
;line-arc and arc-arc intersection methods are e.g. in GLNADS.C of the AutoCAD SDK 2.0 and may be easily ported to AutoLISP. Another method is with VLA where it is possible to use (vla-intersect-with obj1 obj2), which works with curves and splines too. 
;;Posted by T.Willey 
;;http://www.theswamp.org/index.php?topic=14247.15
;;Обработка всех примитивов рисунка через VLA
(defun ChangeAllTextObjectsStyle (Doc StyName / tempObjType IsLo ColCnt RowCnt)
(vlax-for Blk (vla-get-Blocks Doc)
 (setq IsLo (if (= (vla-get-IsLayout Blk) :vlax-true) T nil))
 (if (= (vla-get-IsXref Blk) :vlax-false)
  (vlax-for Obj Blk
   (setq tempObjType (vla-get-ObjectName Obj))
   (cond
    ((vl-position tempObjType '("AcDbText" "AcDbMText" "AcDbAttributeDefinition"))
     (vla-put-StyleName Obj StyName)
     (if (not IsLo)
      (vla-put-Layer Obj "0")
     )
    )
    ((wcmatch tempObjType "AcDb*Dimension")
     (vla-put-TextStyle Obj StyName)
    )
    ((= tempObjType "AcDbBlockReference")
     (foreach Att (vlax-invoke Obj 'GetAttributes)
      (vla-put-StyleName Att StyName)
     )
     (foreach Att (vlax-invoke Obj 'GetConstantAttributes)
      (vla-put-StyleName Att StyName)
     )
    )
    ((= tempObjType "AcDbTable")
     (setq ColCnt 0)
     (repeat (vla-get-Columns Obj)
      (setq RowCnt 0)
      (repeat (vla-get-Rows Obj)
       (vlax-invoke Obj 'SetCellTextStyle RowCnt ColCnt StyName)
       (setq RowCnt (1+ RowCnt))
      )
      (setq ColCnt (1+ ColCnt))
     )
    )
   )
  )
 )
)
)
;;;================================================================================
;;;Written By Michael Puckett. 
;;;Список элементов символьных таблиц АвтоКАДа 
;;; - s- имя таблицы
;;;Пример - список всех слоев - (setq all_layers (tablelist "LAYER"))
;;;(setq all_layers (tablelist "LAYER"))
;;;
;;;AutoLisp should return something like this :
;;;Start Coding Here 
(defun tablelist (s / d r)
  (while (setq d (tblnext s (null d)))
    (setq r (cons (cdr (assoc 2 d)) r))
  )     ;while
)     ;defun
;;;End Coding Here 
(vl-load-com)
;;Change Text Style
(defun C:CTS ( / st)
(and  
  (setq st (_DWGRU-GET-USER-DCL "Выберите стиль" (ACAD_STRLSORT(tablelist "STYLE")) nil))
  (setq st (car st))
  (ChangeAllTextObjectsStyle (vla-get-activedocument (vlax-get-acad-object)) st)
  )
   (princ)
  )
  (princ "\nType CTS in command line")
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 12.05.2008 в 11:27. Причина: Ошибка
VVA вне форума  
 
Автор темы   Непрочитано 24.03.2008, 17:55
#4
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от zenon Посмотреть сообщение
Быстрый выбор - Мтекст или Текст - присвоить в свойствах нужный стиль.
Только вот что делать с атрибутами в блоках?
zenon, неужели я так похож на такого чайника который не умеет пользоваться быстрым выбором и заменой???
Может не правильно обьяснил проблему... копну глубже:
К примеру в чертеже есть 12 текстовых стилей (Стиль1, Стиль2, Стиль 3 и т.д.)
Стиль 1 - Степень сжатия (СЖ) 0.8 высота текста (ВТ) 3
Стиль 2 - Степень сжатия 0.7 высота текста 2.5
Стиль 3 - Степень сжатия 0.6 высота текста 2
и т.д.
В чертеже
используется например текстовый стиль 1 для одной надписи он сделан СЖ-0.55 высота 2 в другой надписи СЖ-1 ВТ-4 и т.д. тоже самое с другими т.е. хаотически все сделано - коряво если хотите. (делал не я)
Нужно заменить текстовый стиль (а соответственно и шрифт) НО! нужно сохранить параметры для надписей в чертеже. Если сделать все через быстрый выбор то все надписи станут такие же как заданы по умолчанию.
А представь теперь чертеж с 1000 такими надписями и все вручную подгонять.
Еще глубже в проблемму: Возьмем напишем надпись в чертеже например слово "Артём" при одинаковой степени сжатия в разных шрифтах надпись будет разная. И получается что для каждого шрифта нужны свои настройки для замены.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 02.04.2008, 10:14
#5
VladimirVas

Инж. эл. техники
 
Регистрация: 11.03.2008
Москва
Сообщений: 9


Shoorup, не могу назвать себя очень продвинутым пользователем, но по моему мнению всё придётся переделывать вручную. Тут нужно решить простую задачку: как необходимо сделать: правильно или как-нибудь? Если Вам нужна куча чертежей, выполненная в строгом соответствиии с требованиями ЕСКД, то сжатие и проч. навороты должны быть убраны. Я делаю так: всем стилям прописываю один шрифт высотой 2,5 (самый универсальный), а затем проверяю каждую надпись. Таким образом можно поправить небольшие по объёму чертежи, а вот по сложным чертежам нужно решать в каждом конкретном случае по-своему. Когда я вижу много мусора (в том числе шрифтового), как продукт неумелого ввода чертежа, то берусь как минимум за переделку всех текстов - так много проще и быстрее. А стили удалить Вам не удастся - они ведь все используются, поэтому придётся мириться.
Ещё одно замечание: знаю, что многие конструкторы частенько используют старые чертежи для создания новых, чтобы не возиться с установками стилей, слоёв и проч. (команда "Сохранить как..."). В этом случае весь мусор благополучно перебирается в новый чертёж, в котором появляется свой мусор и т.д. Мне попадались не очень сложные чертежи объёмом до 10 Мб! Оказывалось, что в файле находится немеряное количество мусора. Приходилось попотеть с командой purge, чтобы уменьшить объём файла в 10-20 и более раз.
Решать Вам: либо мириться, либо переделывать. Я обычно корректирую (создаю заново), чтобы сэкономить время и нервы.
А вообще-то, дело в обучении людей - нет школы.
VladimirVas вне форума  
 
Автор темы   Непрочитано 02.04.2008, 15:00
#6
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


VladimirVas, тем же самым занимаюсь и я - честно говоря утомляет. Именно поэтому и хочеться немного упростить работу себе.
Но мне кажеться задача неразрешимая или не стоит свеч...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 02.04.2008, 16:14
#7
Кулик Алексей aka kpblc
Moderator

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


Разрешимая, просто аналитики очень много надо прописывать. Соответственно скорость работы будет в ауте на насыщенных чертежах.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 02.04.2008 в 16:23.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 02.04.2008, 16:56
#8
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Разрешимая, просто аналитики очень много надо прописывать. Соответственно скорость работы будет в ауте на насыщенных чертежах.
Согласен. Не стоит даже браться
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 02.04.2008, 17:04
#9
Кулик Алексей aka kpblc
Moderator

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


Ну почему, я в свое время такое писал, но код уничтожил - длинно, криво и медленно получилось. Если сегодня вечером буду в силах, попробую что-нибудь нарисовать.
Правда, одно "но" - нужен либо образец-файл с настроенным текстовым и размерным стилем, либо будет использоваться текущий.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 02.04.2008, 17:34
#10
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


В архиве чертежи НЕ МОИ! Их нужно все переделать. Нужно все текстовые стили замнить на текстовый стиль SCB - шрифт romans.shx
Сделано все конечно ужастно - проще такие чертежи с нуля передеать - но эти чертежи выкладываю как пример - они менее всего насыщены неправильностями Самые позорные выкладывать не буду
Вложения
Тип файла: rar кал.rar (268.7 Кб, 282 просмотров)
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 03.04.2008, 03:32
#11
Кулик Алексей aka kpblc
Moderator

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


Попробуй (как вариант, надергано из разных мест).
Вложения
Тип файла: lsp set-style.lsp (44.4 Кб, 616 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.04.2008, 10:27
#12
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Спасибо Алексей работает так как нужно! Но есть небольшие проблеммы - не со всеми чертежами получается бороться. Половину обрабатывает без проблем а в половине выдает ошибку. Если не сложно то мог бы ты еще добаваить лисп на изменение текстого стиля под одну гребенку только тот что выделен (хочу на 2 кнопки сделать - одна на выделенный текст, другая на весь чертеж)
Выкладываю чертеж где не работает:
Вложения
Тип файла: dwg
DWG 2004
внутр.пост.dwg (39.3 Кб, 3514 просмотров)
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 03.04.2008, 11:07
#13
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Заметил, что если выделить чертеж и скопировать на новый пустой чертеж то все работает.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 03.04.2008, 11:14
#14
Кулик Алексей aka kpblc
Moderator

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


Втупую (сейчас просто нет времени заняться лиспом): а если попробовать сначала _.audit провернуть?
---
Добавлено:
Так, ясно. На пустых текстах "сбивается". Сейчас подправлю
---
Добавлено 2:
Вариант лиспа - во вложении. Команда та же.
Вложения
Тип файла: rar set-style2_2008-04-03[11.47.28].rar (8.1 Кб, 413 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 03.04.2008 в 11:51.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.04.2008, 12:08
#15
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Всеравно:
Цитата:
Команда: set-style

** _kpblc-style-assign-to-ent :: acdbattributedefinition ERROR #0: no function
definition: _KPBLC-IS-ACAD-LT
** _kpblc-style-assign-to-ent :: acdbattributedefinition ERROR #0: no function
definition: _KPBLC-IS-ACAD-LT
** _kpblc-style-assign-to-ent :: acdbattributedefinition ERROR #0: no function
definition: _KPBLC-IS-ACAD-LT
** _kpblc-style-assign-to-ent :: acdbblockreference ERROR #0: no function
definition: _KPBLC-BLOCK-ATTR-GET-POINTER-MASK; ошибка: Возникло исключение:
0xC0000005 (Нарушение доступа)
; предупреждение: раскрутка пропущена для исключение
; ошибка: Возникло исключение: 0xC0000005 (Нарушение доступа)
Если в чертеже есть атрибуты то они пропускаются с выдачей ошибки
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 03.04.2008 в 14:52.
Shoorup вне форума  
 
Непрочитано 03.04.2008, 23:30
#16
Кулик Алексей aka kpblc
Moderator

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


Чертовщина какая-то... Специально делал, чтобы атрибуты обрабатывались. Блин, все же в 3 ночи лиспы рисовать вредно. Прошу паузы.
P.S. Если есть возможность, кинь в меня несколькими файлами покривее, чтобы можно было у меня на месте все отследить. А то так можно до бесконечности ковыряться.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 04.04.2008 в 01:36.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 08.05.2008, 10:31
#17
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Кулик Алексей aka kpblc, может было время поправить лисп?
Ошибки как мне кажеться лезут с блоками. Нужно чтобы в блоках и обычные тексты и атрибуты и многострочные меняло. В пространстве модели тот же набор + проверка на пустые строки в многострочн. и однострочн. текстах и там и там.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 08.05.2008, 17:22
#18
Кулик Алексей aka kpblc
Moderator

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


Shoorup, не было У меня сейчас головняк с ADT и подсчетом площадей отделки (чего в поставке нет). Все силы брошены туда (
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.05.2008, 11:30
#19
VVA

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


Shoorup, А CTS из #3 не так меняет стили? Там была ошибка. Исправил
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 21.05.2008, 15:59
#20
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


VVA, красота! Только сейчас обнаружил ответ! Спасибо за программу! Буду тестировать.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Замена текстого стиля

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание размерного стиля amator Программирование 13 12.04.2009 00:45
детализация в advance steel 7.1 и настройка стиля. 8infinity Advance Steel 30 12.02.2009 00:23
замена шрифтов в документах Fenomen AutoCAD 7 16.01.2008 12:29
Как программно узнать масштабный коэфф. размерного стиля? kp+ Программирование 1 18.07.2006 12:37
Настройка "Стандартного" текстового стиля. Кулик Алексей aka kpblc AutoCAD 6 23.10.2003 22:49