Поля в Autocad

Автор Тема: Поля в Autocad  (Прочитано 8280 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн Alexsandr_13Автор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Поля в Autocad
« : 12-03-2019, 21:22:34 »
Доброго времени суток. Интересует вопрос по полям в Autocad 2018. В базе имеется keyword %<Drawing>%, он выдает имя файла dwg без расширения, допустим будет выдавать U02_BL04_D2600 - имя файла. Это имя будет вставляться в выноску. Вопрос состоит в том как можно убрать лишние символы спереди или сзади. Можно ли решить формулами или какими-нибудь ключами. И где об этом можно почитать.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13827
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поля в Autocad
« Ответ #1 : 12-03-2019, 21:27:21 »
Alexsandr_13,
Приветствую на форуме. О какой базе идёт речь? В выноску выставляться должно поле или текст?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Alexsandr_13Автор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Re: Поля в Autocad
« Ответ #2 : 12-03-2019, 21:30:07 »
База sql сервера

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13827
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поля в Autocad
« Ответ #3 : 12-03-2019, 21:36:13 »
Тогда я не понял в чем вопрос. Получаешь из базы строку, создаёшь выноску, вписываешь в неё строку. И всё. В чем вопрос?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Alexsandr_13Автор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Re: Поля в Autocad
« Ответ #4 : 12-03-2019, 21:51:09 »
Дело в том что выноска настроенная уже в сеансе autocad и получает данные с базы. А вот поле %<Drawing>% я могу настроить, чтобы уже был нужный результат.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13827
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поля в Autocad
« Ответ #5 : 12-03-2019, 22:26:33 »
Alexsandr_13,
Похоже что мы говорим на разных языках. Ну да ладно. В полях AutoCAD можно использовать выражения DIESEL: https://knowledge.autodesk.com/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/AutoCAD-LT/files/GUID-F94A885A-4DA2-432B-AC1A-EB49CC6C1C72-htm.html
И в частности substr в формате $(substr, string, start [, length])
Например,
Код - Auto/Visual Lisp [Выбрать]
  1. %<\AcDiesel $(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4))>%
в поле возвращает имя файла без расширения.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Alexsandr_13Автор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Re: Поля в Autocad
« Ответ #6 : 12-03-2019, 23:15:03 »
данное ключевое слово %<Drawing>% возвращает уже без расширения, например такое U02-BLOCK03-D2600-Plan3, мне нужно к примеру BLOCK03-D2600 или Plan3. Но в каком направлении идти я понял. Спасибо за помощь. Буду изучать Diesel, до этого обходился макросами и простыми lisp программками.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13827
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поля в Autocad
« Ответ #7 : 13-03-2019, 00:38:23 »
данное ключевое слово %<Drawing>% возвращает уже без расширения, например такое U02-BLOCK03-D2600-Plan3, мне нужно к примеру BLOCK03-D2600 или Plan3. Но в каком направлении идти я понял. Спасибо за помощь. Буду изучать Diesel, до этого обходился макросами и простыми lisp программками.
Снова ничего не понял. Это "ключевое слово" в чертеже присутствует? Если да, то где? Если нет, то очень сомневаюсь, что Diesel тебе поможет. Также не понял что эта тема делает в разделе .NET
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Alexsandr_13 13-03-2019, 23:52:11

Оффлайн Alexsandr_13Автор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Re: Поля в Autocad
« Ответ #8 : 13-03-2019, 23:51:48 »
Спасибо Александр за помощь. С Diesel разобрался. %<Drawing>% - ключевое слово в базе sql, определяет dwg файл из списка в то же базе. Дальше передается в открытый сеанс autocad в мультивыноску как поле. Ваш пример %<\AcDiesel $(substr,$(getvar,dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4))>% помог разобраться. Только синтаксис немного изменил. %<\AcDiesel $(substr, %<Drawing>%, 4)>%,  %<Drawing>% - определяется как ключевое слово, дальнейшие параметры согласно функции возвращают нужное количество символов.
На счет "Также не понял что эта тема делает в разделе .NET", могу сказать только, что пока писал сообщение время регистрации истекло и пришлось перерегистрироваться, а дальше попала наверно в первую попавшуюся.
Если хотите перенесите куда надо или удалите.
Спасибо за помощь, я проблему решил.

Оффлайн xag

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: Поля в Autocad
« Ответ #9 : 22-03-2019, 05:25:28 »
Всем добрый день. Интересует вопрос по полям в Autocad 2017рус.
Пишу формулу для поля: %<\AcVar ctab \f "%tc1">%.
Часть в формуле (\f "%tc1") является ключом к редактированию названия вкладки чертежа.
Вопрос состоит в том как можно убрать лишние символы спереди или сзади при помощи ключей.
Эту формулу планировал вставлять в МТекст, в атрибуты блоков.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13827
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поля в Autocad
« Ответ #10 : 22-03-2019, 19:22:15 »
xag,
Код - Auto/Visual Lisp [Выбрать]
  1. %<\AcDiesel $(substr,$(getvar,ctab),начальный_номер,конечный_номер)>%
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн xag

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: Поля в Autocad
« Ответ #11 : 23-03-2019, 09:16:32 »
Есть МТекст 1 (Доброе утро страна), хочу получить Поле в МТексте 2 (утро).
Создаю МТекст 2, вставляю поле:
Категории полей: Объекты
Имена полей: Объект
Тип объекта: при помощи выбора объекта выбираю МТекст 1
Свойство: Содержимое
Получаю формулу для поля:
%<\AcObjProp Object(%<\_ObjId 2099770336>%).TextString \f "%tc3">%
Часть в формуле (\f "%tc3") является ключом к редактированию содержимого.
Вопрос состоит в том как можно убрать лишние символы спереди или сзади при помощи ключей.
%<\AcDiesel $(substr,$(getvar,ctab),начальный_номер,конечный_номер)>%
Если вместо ctab написать формулу %<\AcObjProp Object(%<\_ObjId 2099770336>%).TextString \f "%tc3">%, то ничего не получается.
%<\AcDiesel $(substr,$(getvar, %<\AcObjProp Object(%<\_ObjId 2099770336>%).TextString \f "%tc3">%),начальный_номер,конечный_номер)>%

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13827
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поля в Autocad
« Ответ #12 : 23-03-2019, 14:19:50 »
xag,
Почитай эту тему и поймёшь, что это тупиковый путь: http://adn-cis.org/forum/index.php?topic=609.0
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение