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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Автоматическое подключение файла стандартов DWS. VLisp.

Автоматическое подключение файла стандартов DWS. VLisp.

Ответ
Поиск в этой теме
Непрочитано 05.04.2013, 10:40 #1
Автоматическое подключение файла стандартов DWS. VLisp.
Yura Agafonov
 
Инженер.
 
Minsk
Регистрация: 04.05.2012
Сообщений: 95

Все привет.
Возникла необходимость автоматического подключения к открытому чертежу файла стандартов, находящегося по известному адресу.
Решил использовать функцию command...
При запуске следующей команды
Код:
[Выделить все]
 (command "_.STANDARDS" )
автокад выдает окно и предлагает выбрать файл стандартов, что бы начать его выбор нужно нажать на кнопку или на F3...
как реализовать выбор файла программно
Автокад13 w7 х64


спасибо кто отклонится.
Просмотров: 4632
 
Непрочитано 05.04.2013, 11:06
#2
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 571


Yura Agafonov, посмотрите код из этой темы LISP. Пакетное обновление файлов стандартов
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 08.04.2013, 10:19
#3
Yura Agafonov

Инженер.
 
Регистрация: 04.05.2012
Minsk
Сообщений: 95
Отправить сообщение для Yura Agafonov с помощью Skype™


TararykovDG, как я понял из этого кода, то работа осуществляется с неактивными документами DWG. В моем варианте необходимо автоматически подключить стандарт DWS к активному документу в котором мы сейчас находимся. Если можно, то я бы хотел попросить указать мне ту часть кода где происходит непосредственное соединение с файлом стандарта, или подсказать необходимые для этого функции.
Yura Agafonov вне форума  
 
Непрочитано 08.04.2013, 15:16
#4
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 571


Цитата:
Сообщение от Yura Agafonov Посмотреть сообщение
указать мне ту часть кода где происходит непосредственное соединение с файлом стандарта
Изучите функцию upd-std
Цитата:
Сообщение от Yura Agafonov Посмотреть сообщение
подсказать необходимые для этого функции
В Вашем случае алгоритм примерно будет следующий:
1. Получить коллекцию словарей активного чертежа (ф-я vla-get-Dictionaries)
2. Получить ссылку на словарь "AcStStandard" (vl-catch-all-apply 'vla-Item (list (vla-get-Dictionaries obj) "AcStStandard")), если такого словаря нет, значит к текущему документу не прикреплен ни один файл стандартов, тогда создать словарь с таким именем (vla-Add dictionaries "AcStStandard")
3. Добавить X-запись в словарь (ф-я vla-AddXRecord)
4. Поместить данные о новом файле стандартов в запись словаря (ф-я vla-SetXRecordData)
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 28.06.2019, 13:08
#5
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,988


Если программно подключить файл стандартов, то можно потом программно его применить? Чтоб диалоговое окно не высвечивалось.
Речь идет об активном документе и работе в нем
crosandr вне форума  
 
Непрочитано 30.06.2019, 12:30
#6
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от crosandr Посмотреть сообщение
Если программно подключить файл стандартов, то можно потом программно его применить? Чтоб диалоговое окно не высвечивалось.
Речь идет об активном документе и работе в нем
Как представляете себе программное применение файла стандарта без диалога?
Сергей812 вне форума  
 
Непрочитано 01.07.2019, 09:44
#7
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,988


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Как представляете себе программное применение файла стандарта без диалога?
Так же, как работают другие команды в безоконном режиме. Опциями в командной строке.
Хочется автоматизировать применение файла стандартов, чтоб не нажимать самому кнопки
crosandr вне форума  
 
Непрочитано 01.07.2019, 09:45
#8
Кулик Алексей aka kpblc
Moderator

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


Checkstandards, по-моему, не имеет режима командной строки. Тут уж лучше свое приложение рисовать...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.07.2019, 09:52
#9
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от crosandr Посмотреть сообщение
Так же, как работают другие команды в безоконном режиме. Опциями в командной строке.
Хочется автоматизировать применение файла стандартов, чтоб не нажимать самому кнопки
на основании чего будет приниматься решение о варианте исправления?)

Имхо, не совсем с той стороны подошли к задаче. Надо создавать инструменты ( те же самые палитры) и заставлять людей ими пользовать. Были программки, которые сами "на лету" раскидывают примитивы по различным слоям в соответствии с определенными критериями. А применение файлов стандартов - это уже оценочная функция: насколько это все работает, и для выявления сотрудников - кто делает все по своемому..

----- добавлено через ~9 мин. -----
Есть еще утилита пакетного нормоконтроля в составе акада, чтобы каждый чертеж отдельно не обрабатывать.

И системная переменная STANDARDSVIOLATION.
Сергей812 вне форума  
 
Непрочитано 01.07.2019, 10:23
#10
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,988


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
на основании чего будет приниматься решение о варианте исправления?
Так все также, как и в оконной версии. Есть файл шаблона, под него нужно причесать имеющийся файл. Слои и типы линий, отсутствующие в шаблоне, не трогать.
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
заставлять людей ими пользовать
Проще в акаде нажать кнопочку или несколько, чем менять восприятие людей. Кроме того, даже если все работают по одному шаблону и в одной системе слоев, то цвет слоев не всегда удобен. Для серого экрана одна цветовая гамма хороша, для черного - своя. Люди не роботы, кому-то удобен и приятен черный экран, кому-то серый и т.д.
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Тут уж лучше свое приложение рисовать
Алексей, может попадалось что-то похожее? Не думаю, что моя задача уникальна. Глубоко так еще не копал
crosandr вне форума  
 
Непрочитано 01.07.2019, 10:33
#11
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от crosandr Посмотреть сообщение
Так все также, как и в оконной версии. Есть файл шаблона, под него нужно причесать имеющийся файл. Слои и типы линий, отсутствующие в шаблоне, не трогать.
например, новый блок - на основании чего будет принято размещение на нужном слое?

Цитата:
Сообщение от crosandr Посмотреть сообщение
Кроме того, даже если все работают по одному шаблону и в одной системе слоев, то цвет слоев не всегда удобен. Для серого экрана одна цветовая гамма хороша, для черного - своя. Люди не роботы, кому-то удобен и приятен черный экран, кому-то серый и т.д.
это вообще бред - зачем вообще стандарты вводит, если каждый исполнитель начинает "самовыражаться" еще с настройки цветов)
Сергей812 вне форума  
 
Непрочитано 01.07.2019, 11:33
1 | #12
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от crosandr Посмотреть сообщение
Алексей, может попадалось что-то похожее? Не думаю, что моя задача уникальна. Глубоко так еще не копал
Не попадалось. Когда-то (достаточно давно) писал код, который вскрывал dwg и смотрел несоответствия некоторым определенным требованиям (ну, например, на слоях "0" и "Defpoints" не должно быть примитивов, имена блоков должны отвечать некоторым требованиям, ссылки и растры не должны быть потеряны и т.п.). И в результате - отчет. А решения уже принимал пользователь.
Код восстанавливать не буду - он там был достаточно длинным и запутанным. А сама идея проста и незатейлива: через ObjectDBX вскрыть файл, пройтись по пространству модели и листов, по коллекции блоков, проверить каждый элемент и запомнить в результирующий список. А сам отчет формировать в том виде, который больше нравится - хоть csv, хоть xlsx, хоть html.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.07.2019, 13:07
#13
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Не совсем на лиспе - пример модуля нормоконтроля от Kean Walmsley в переводе Бушмана Андрея. Там по ссылкам в статье есть некоторая полезная информация, ну и просто для представления объема работы в случае написания своих вариантов.

Offtop: Имхо, все таки для стандартизации нужна достаточно сильная административная поддержка от руководства фирмы, чтобы заставить сотрудников "шагать в ногу") Ну или программиста, который будет постоянно дописывать надстройки по факту выявлений "способностей" исполнителей сделать очевидное самым странным способом)
Сергей812 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Автоматическое подключение файла стандартов DWS. VLisp.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Автоматическое сохранение файла в нужном месте. VLisp. Yura Agafonov LISP 5 04.04.2013 09:17
MS Word Нужен скрипт для копирования с одновременной заменой части текста Солидворкер Прочее. Программное обеспечение 27 27.11.2012 15:52