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

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

Проверка существования текстового стиля.

Ответ
Поиск в этой теме
Непрочитано 03.03.2010, 18:26 #1
Проверка существования текстового стиля.
acidburst
 
Проектант :-D
 
Регистрация: 03.03.2010
Сообщений: 7

Здравствуйте. Похоже форум приобрел еще одного почемучку :-)

Простое условие
Код:
[Выделить все]
(if (not (tblobjname "_.style" "XXXX"))
  (command "_.-style" "XXXX" "romans.shx" "2.5" "1" "0" "N" "N" "N"))
При выполнении акад соглашается с тем, что стиль существует, но все-же создает новый стиль с такимже именем и делает его текущим.
Мне кажется не логично...
Либо я перечитал полещука либо лыжи не едут. Подскажите пожалуйста.
Просмотров: 5757
 
Непрочитано 03.03.2010, 22:41
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Я думаю просто обычная невнимательность
Из справки
Цитата:
(tblobjname table-name symbol)

Arguments

table-name

A string that identifies the symbol table to be searched. The argument is not case-sensitive. Valid table-name values are "LAYER", "LTYPE", "VIEW", "STYLE", "BLOCK", "UCS", "APPID", "DIMSTYLE", and "VPORT".
...
Среди символьных таблиц есть таблица "STYLE", но нет таблицы "_.style". Как говорится, найдите 2 отличия.
И если уж используешь универсальную нотацию в command, то используй ее доконца
Код:
[Выделить все]
(command "_.-style" "XXXX" "romans.shx" "2.5" "1" "0" "_N" "_N" "_N")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 04.03.2010, 08:02
#3
acidburst

Проектант :-D
 
Регистрация: 03.03.2010
Сообщений: 7


Прошу прощения, просто в книжке В.Света было написано

"При любой степени русификации AutoCAD его ядро остается английским. Если перед английским именем комманды поставить знак подчеркивания, а затем точку (_.), то комманда будет извлечена из самого ядра и сработает правильно в любом случае."

Да, невнимательность, но невнимательность была при чтении, т.к. это было в описании создания кнопок :-(
В приведенных примерах по лиспу в той же книге, используется только знак подчеркивания.

Спасибо.

Может быть подскажете разницу в создании тесчтового стиля посрездством vla-add, entmakex, command? принципиальную разницу.

Последний раз редактировалось acidburst, 04.03.2010 в 08:13. Причина: Добавил вопрос.
acidburst вне форума  
 
Непрочитано 04.03.2010, 08:14
#4
Кулик Алексей aka kpblc
Moderator

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


acidburst, ты немного путаешь команды и их опции, мне кажется...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.03.2010, 08:26
#5
acidburst

Проектант :-D
 
Регистрация: 03.03.2010
Сообщений: 7


Не отрицаю и не исключаю.
3 дня с нуля читать про лисп в перерывах между работой, а потом с первого раза свести все вместе обычно не реально.
Поэтому и написал на форуме, ибо путаюсь в трех соснах.
acidburst вне форума  
 
Непрочитано 04.03.2010, 08:56
#6
Кулик Алексей aka kpblc
Moderator

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


Скажу честно - искать лениво, поэтому просто на сайте у себя опубликовал: http://autolisp.ru/2010/03/04/localization/
На форуме все это было, и не раз. И, по-моему, с более подробным разбором.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.03.2010, 09:12
#7
acidburst

Проектант :-D
 
Регистрация: 03.03.2010
Сообщений: 7


Я вот тоже обчитавшись ставлю (_.), в том числе и почитав вашего ресурса.
Сейчас попробовал
Код:
[Выделить все]
(if (not (tblobjname "STYLE" "XXXX"))
изменить на
Код:
[Выделить все]
(if (not (tblobjname "_STYLE" "XXXX"))
и почему-то не работает, хотя это явно опция для комманды tblobjname
Кулик Алексей aka kpblc,зная о том что вы полубог в lispe, даже неудобно вас отвлекать такими пустяками.
acidburst вне форума  
 
Непрочитано 04.03.2010, 09:16
#8
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Все эти точки-подчеркивания при написании LISP-кода применяются только в аргументах функций command и vl-cmdf.
Do$ вне форума  
 
Автор темы   Непрочитано 04.03.2010, 09:18
#9
acidburst

Проектант :-D
 
Регистрация: 03.03.2010
Сообщений: 7


другого пока не умею, уж извините.

VVA, а что у вас за справка такая? Я нажимая контрол+ф1 получаю:
Цитата:
Returns the entity name of a specified symbol table entry
(tblobjname table-name symbol)
Arguments
table-name
A string that identifies the symbol table to be searched. The argument is not case-sensitive.
symbol
A string identifying the symbol to be searched for.
Return Values
The entity name of the symbol table entry, if found.
The entity name returned by tblobjname can be used in entget and entmod operations.
Examples
The following command searches for the entity name of the block entry “ESC-01”:
Command: (tblobjname "block" "ESC-01")
<Entity name: 1dca368>

Последний раз редактировалось acidburst, 04.03.2010 в 09:25. Причина: добавил вопрос
acidburst вне форума  
 
Непрочитано 04.03.2010, 09:27
#10
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Ну почему же, я вижу, что уже освоены функции tblobjname, not, if
Do$ вне форума  
 
Автор темы   Непрочитано 04.03.2010, 09:30
#11
acidburst

Проектант :-D
 
Регистрация: 03.03.2010
Сообщений: 7


not, if, также как + - = из курсов программирования на паскале.
tblobjname не освоен, потому как есть вопрос по испольхованию "STYLE"
acidburst вне форума  
 
Непрочитано 04.03.2010, 09:55
#12
Кулик Алексей aka kpblc
Moderator

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


tblobjname - не команда, а функция лиспа. И работает она с таблицами файла dwg (грубо говоря, можно считать, что dwg есть база данных). Имена таблиц стандартны и не локализуются.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 04.03.2010, 10:19
#13
acidburst

Проектант :-D
 
Регистрация: 03.03.2010
Сообщений: 7


Извиняйте (. Впредь постараюсь побольше читать поменьше спрашивать.
acidburst вне форума  
 
Непрочитано 04.03.2010, 12:47
#14
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
Все эти точки-подчеркивания при написании LISP-кода применяются только в аргументах функций command и vl-cmdf.
Еще (ssget) и (osnap)
Александр Ривилис вне форума  
 
Непрочитано 04.03.2010, 13:33
#15
Кулик Алексей aka kpblc
Moderator

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


Ну, про опции (ssget) можно ооочень долго распространяться
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.03.2010, 13:52
#16
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от acidburst Посмотреть сообщение
VVA, а что у вас за справка такая?
Названия символьных таблиц table-name даны в описании функции tblnext
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.03.2010, 23:14
#17
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Блн, сколько можно такой пофигизм наблюдать... Зачем ипользовать '(command ...)' А потом в лучшем случае подавлять вывод в кс с помощью 'cmdecho нельзя что ли etnmake использовать или, например, АктивИкс, на худой конец
Код:
[Выделить все]
(defun cdx-AddLayer (LayerName LayerColor LayerLType / LyrObj)
;;; Добавляет в текущий документ слой с заданным именем
;;; (cdx-AddLayer "Layer 4" 4 *cdl_lt_cen*)
;;; (cdx-AddLayer "Layer 6" 6 *cdl_lt_hid*)
;;; (cdx-AddLayer "Layer 42" 42 nil)
  (if (member LayerName (cdx-LayerNameList))
	(setq LyrObj (vla-Item (vla-get-Layers *cdl_actvdoc*) LayerName))
	(setq LyrObj (vla-Add  (vla-get-Layers *cdl_actvdoc*) LayerName))
  )
  (vla-put-Color LyrObj LayerColor)
  (if
    (and
      LayerLType
      (or
        (member LayerLType (cdx-LineTypeNameList))
        (not (vl-catch-all-apply 'vla-Load (list (vla-get-LineTypes *cdl_actvdoc*) LayerLType (findfile *cdl_lt_file*))))
      )
    )
    (vla-put-LineType LyrObj LayerLType)
  )
  LyrObj
)
думаю смысл должен быть понятен
зы И вообще есть такие, кто справку хотя б на 80, не, на 75% прочитал...
gomer вне форума  
 
Непрочитано 05.03.2010, 23:57
#18
Кулик Алексей aka kpblc
Moderator

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


gomer, а ты читал, что надо создавать текстовый стиль, а не слой?
И, если разбирать твой код - то там тоже не все гладко. Слой будет печататься или нет? А если печататься, то с каким стилем? А слой будет блокироваться или нет? А как насчет заморозки? И заморозки в новых ВЭ? А что будет, если в файле не загружен тип линии? А можно ли обработать нетекущий файл?
Если ты публикуешь кусок своей библиотеки, то либо предупреждай о неработоспособности кода, либо предоставляй все полностью. В том числе и назначения глобальных переменных.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.03.2010, 00:36
#19
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
нельзя что ли etnmake использовать или, например, АктивИкс, на худой конец
Ты тоже через три дня после начала изучения AutoLisp начал пользоваться (entmake) и ActiveX? Ну-ну...
Александр Ривилис вне форума  
 
Непрочитано 06.03.2010, 14:48
#20
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


-> kpblc:
это даже не лисп, а алгоритм, но суть та же (кстати исходный алгоритм с tblobjname часто применяется и для слоев):
Если нет нобходимого стиля или слоя, он создается автоматически с минимальными настройками, по возможности подгружаются шрифт или тип линии соответственно.
По поводу заморозки слоев : зачем слой создавать и сразу его замораживать
->Александр Ривилис:
К сожалению нет, каждую функцию по-отдельности "обсасывал", но потом оказалось, что их не так уж много...
gomer вне форума  
 
Непрочитано 06.03.2010, 15:57
#21
Кулик Алексей aka kpblc
Moderator

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


> gomer: вообще-то недостающие настройки создаваемых объектов слоев берутся с текущего слоя. А если тебе надо работать с существующим слоем, но при этом он заморожен / заблокирован? Раз уж "это алгоритм", то делай его универсальным.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.03.2010, 01:30
#22
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


-> kpblc: А вот и нет:
1. текущий слой не может быть заморожен...
2. слой в результате создается не заблокированным и не выключенным, почему-то...
3. что мешает вкл/выкл... слой после создания, или сделать его текущим...

Идея в том что если аргумент функции может не понадобиться, его лучше не использовать

например что будет, если код выглядит так:
Код:
[Выделить все]
(if (not (tblobjname "STYLE" "XXXX"))
  (command "_.-style" "XXXX" "romansbad.shx" "2.5" "1" "0" "N" "N" "N"))
В брикскад 10 создает 3 новых рисунка

Последний раз редактировалось gomer, 08.03.2010 в 01:46.
gomer вне форума  
 
Непрочитано 08.03.2010, 03:27
#23
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от gomer Посмотреть сообщение
В брикскад 10 создает 3 новых рисунка
Рисунка?? Ты ничего не путаешь?
А что мешает сделать функцию для слоя наподобие:
Код:
[Выделить все]
(vl-load-com)

(defun _dwgru-layer-create (doc name lst / res lt)
                           ;|
*    Создание слоя
*    Параметры вызова:
	doc		обрабатываемый документ. nil -> Текущий
	name	имя создаваемого слоя. nil недопустим. Только строка
	lst		список дополнительных параметров вида:
	 '(("color" . <Цвет>)				; цвет слоя. nil -> 7. Только число от 1 до 255.
	   ("freeze" . <Заморожен>)	; замороженность слоя. t || nil
	   ("off" . <Выкл>)					; слой выключен. t || nil
	   ("lock" . <Блок>)				; блокированность. t || nil
	   ("noplot" . <НЕПечатать)	; печатать слой или нет. t - не выводить на печать,
	   													; nil - выводить.
	   ("lw" . <ВесЛинии>)			; nil -> aclwdefault
	   ("lt" . <ТипЛинии>)			; nil -> Continuous.
	   ("ltfile" . <Файл*.lin>)	; файл, откуда грузить нестандартные типы линий.
	   													; nil -> "acadiso.lin"
	   ("active" . <Активировать>)
	   )
*    Последовательность задания параметров роли не играет
*    Возвращает vla-указатель на созданный слой или nil в случае неудачи. Если
* слой уже существует, он настраивается в соответствии с lst
*    Примеры вызова:
(_dwgru-layer-create nil "la001" nil)
(_dwgru-layer-create nil "la001" '(("color" . 1)))
(_dwgru-layer-create nil "la001" '(("color" . 1) ("freeze" . t)))
|;
  (if (= (type name) 'str)
    (progn
      (if (not doc)
        (setq doc (vla-get-activedocument (vlax-get-acad-object)))
        ) ;_ end of if
      (setq lst (mapcar
                  (function
                    (lambda (x)
                      (cons (strcase (car x) t) (cdr x))
                      ) ;_ end of lambda
                    ) ;_ end of function
                  (vl-remove-if-not
                    (function
                      (lambda (x)
                        (= (type (car x)) 'str)
                        ) ;_ end of lambda
                      ) ;_ end of function
                    lst
                    ) ;_ end of vl-remove-if-not
                  ) ;_ end of mapcar
            ) ;_ end of setq
      (if (vl-catch-all-error-p
            (setq res (vl-catch-all-apply
                        (function
                          (lambda ()
                            (vla-item (vla-get-layers doc) name)
                            ) ;_ end of lambda
                          ) ;_ end of function
                        ) ;_ end of vl-catch-all-apply
                  ) ;_ end of setq
            ) ;_ end of vl-catch-all-error-p
        (setq res (vla-add (vla-get-layers doc) name))
        ) ;_ end of if
      (if (vl-catch-all-error-p
            (vl-catch-all-apply
              (function
                (lambda ()
                  (vla-put-color
                    res
                    (cond ((cdr (assoc "color" lst)))
                          (t 7)
                          ) ;_ end of cond
                    ) ;_ end of vla-put-color
                  ) ;_ end of lambda
                ) ;_ end of function
              ) ;_ end of vl-catch-all-apply
            ) ;_ end of vl-catch-all-error-p
        (vla-put-color res 7)
        ) ;_ end of if
      (vl-catch-all-apply
        (function
          (lambda ()
            (vla-put-freeze
              res
              (if (cdr (assoc "freeze" lst))
                :vlax-true
                :vlax-false
                ) ;_ end of if
              ) ;_ end of vla-put-freeze
            ) ;_ end of lambda
          ) ;_ end of function
        ) ;_ end of vl-catch-all-apply
      (vla-put-layeron
        res
        (if (cdr (assoc "off" lst))
          :vlax-false
          :vlax-true
          ) ;_ end of if
        ) ;_ end of vla-put-layeron
      (vla-put-lock
        res
        (if (cdr (assoc "lock" lst))
          :vlax-true
          :vlax-false
          ) ;_ end of if
        ) ;_ end of vla-put-lock
      (vla-put-plottable
        res
        (if (cdr (assoc "noplot" lst))
          :vlax-false
          :vlax-true
          ) ;_ end of if
        ) ;_ end of vla-put-Plottable
      (if (vl-catch-all-error-p
            (vl-catch-all-apply
              (function
                (lambda ()
                  (vla-put-lineweight
                    res
                    (cond
                      ((cdr (assoc "lw" lst)))
                      (t aclnwt025)
                      ) ;_ end of cond
                    ) ;_ end of vla-put-lineweight
                  ) ;_ end of lambda
                ) ;_ end of function
              ) ;_ end of vl-catch-all-apply
            ) ;_ end of vl-catch-all-error-p
        (vla-put-lineweight res aclnwt025)
        ) ;_ end of if
      (vla-put-linetype
        res
        (if (cdr (assoc "lt" lst))
          (if (vl-catch-all-error-p
                (vl-catch-all-apply
                  (function
                    (lambda ()
                      (vla-item (vla-get-linetypes doc)
                                (cdr (assoc "lt" lst))
                                ) ;_ end of vla-item
                      ) ;_ end of lambda
                    ) ;_ end of function
                  ) ;_ end of vl-catch-all-apply
                ) ;_ end of vl-catch-all-error-p
            (progn
              (if (vl-catch-all-error-p
                    (vl-catch-all-apply
                      (function
                        (lambda ()
                          (vla-load
                            (vla-get-linetypes doc)
                            (cdr (assoc "lt" lst))
                            (cond
                              ((findfile (cdr (assoc "ltfile" lst))))
                              (t (findfile "acadiso.lin"))
                              ) ;_ end of cond
                            ) ;_ end of vla-load
                          ) ;_ end of lambda
                        ) ;_ end of function
                      ) ;_ end of vl-catch-all-apply
                    ) ;_ end of vl-catch-all-error-p
                "Continuous"
                (cdr (assoc "lt" lst))
                ) ;_ end of if
              ) ;_ end of progn
            (cdr (assoc "lt" lst))
            ) ;_ end of if
          "Continuous"
          ) ;_ end of if
        ) ;_ end of vla-put-linetype
      (if (cdr (assoc "active" lst))
        (vla-put-activelayer doc res)
        ) ;_ end of if
      res
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
Предупреждаю: особо не гонял.
Цитата:
Сообщение от gomer Посмотреть сообщение
слой в результате создается не заблокированным и не выключенным, почему-то...
У кого как. И, как видишь, зависит от реализации алгоритма.
Цитата:
Сообщение от gomer Посмотреть сообщение
что мешает вкл/выкл... слой после создания, или сделать его текущим...
А что мешает это делать сразу?
Цитата:
Сообщение от gomer Посмотреть сообщение
Идея в том что если аргумент функции может не понадобиться, его лучше не использовать
А списки придуманы просто так?
---
Скажу честно - в полчетвертого ночи как-то не хочется прописывать полностью код создания текстового стиля. А вот прочитать, например, "О перегрузке lisp" можно...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.03.2010, 23:44
#24
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Сейчас перепроверил. брикскад создает один новый рисунок, но создает ведь...
По поводу кода выше:
Ничего не мешает, но слишком много перепроверок и...
Если нет нижного файла с линиями, то все грузится из acadiso.lin вроде правильно, но если в acadiso.lin нет необходимого типа линий???
или нет файла acadiso.lin (ну потерялся, и абсурдно искать нестандартный тип линии в стандартном файле) то тип линии назначается 'continuous',(опять все правильно)!

но слой создается с таким типом линии автоматически!!!
далее (кстати не достающий код, но должно быть понятно и без него):
Код:
[Выделить все]
(defun cdx-ItemNameList( sNam / res)
;;; (cdx-ItemNameList 'Layers)
  (setq res '())
  (vlax-for & (vlax-get-property *cdl_actvdoc* sNam)
	(setq res (cons(vla-get-Name &)res)))
  (cond(res(acad_strlsort res))))

(defun cdx-LayerNameList()
;;; Возвращает список имен слоев текущего документа
;;; (cdx-LayerNameList)
(cdx-ItemNameList 'Layers))
(defun cdx-LineTypeNameList()
;;; Возвращает список типов линий текущего документа
;;; (cdx-LineTypeNameList)
(cdx-ItemNameList 'LineTypes))
конструкция с
Код:
[Выделить все]
(if (member ...
выглядит лучше чем
Код:
[Выделить все]
(if (not (vl-catch...
так как букаф меньше...
Поповоду аргумента doc ну это если сразу комплект чертежей рисовать, тогда надо, а так все операции выполняются обычно в текущем документе
По поводу опции active согласен Просто пока руки не дошли
Так по чуть-чуть оказывается что фукции дают одинаковый результат, а по размеру разные
Все устал писать... Иду спать...
gomer вне форума  
 
Непрочитано 09.03.2010, 00:03
#25
Кулик Алексей aka kpblc
Moderator

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


Спорить и говорить можно очень долго, но, думаю, топикстартеру это малоинтересно...
---
Добавлено: что-то у тебя "не то" с бриксом. Только что проверил на версии 10.1.11 - мой код работает корректно и второго рисунка не создает. В качестве доказательства (пока я на работе) могу попробовать сделать видео.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 09.03.2010 в 09:02.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проверка существования текстового стиля.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Замена текстового стиля VVA Готовые программы 323 03.09.2025 12:20
Замена текстого стиля Shoorup Программирование 43 19.05.2015 09:22
Смена текстового стиля в СПДС и Project Studio @$K&t[163RUS] ПО от CSoft 2 08.02.2010 09:57
Как Извлечь из строки числа Kostinok Программирование 7 12.08.2008 08:00
Настройка "Стандартного" текстового стиля. Кулик Алексей aka kpblc AutoCAD 6 23.10.2003 22:49