LISP. Как запустить LISP программу при создании чертежа по шаблону? (Автоматическое заполнение основной надписи) - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP. Как запустить LISP программу при создании чертежа по шаблону? (Автоматическое заполнение основной надписи)

LISP. Как запустить LISP программу при создании чертежа по шаблону? (Автоматическое заполнение основной надписи)

Ответ
Поиск в этой теме
Непрочитано 31.03.2011, 11:47
LISP. Как запустить LISP программу при создании чертежа по шаблону? (Автоматическое заполнение основной надписи)
Do$
 
AutoCAD/Civil3D LISP/C#
 
Санкт-Петербург
Регистрация: 15.08.2008
Сообщений: 1,701

Уважаемые форумчане, прошу совета!
Возникла мысль пограммно изменять шаблон в зависимости от того, кто создает чертеж (считываем переменную "username" и в зависимости от ее значения заполняем основную надпись шаблона). Изначально идея была разместить рядом с шаблоном DWT файл acaddoc.lsp и в нем описать все необходимые манипуляции, но, как оказалось, acaddoc.lsp не запускается при создании файла на основе шаблона . Что можно еще придумать? Создавать для каждого юзера отдельный шаблон - то еще счастье...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)

Последний раз редактировалось Do$, 31.03.2011 в 16:09.
Просмотров: 17746
 
Непрочитано 01.04.2011, 08:45
#21
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
если определить автора чертежа, то можно однозначно определить остальные фамилии.
Если развивать эту мысль дальше, то, как правило, каждый проектировщик входит в определённую группу проектирования, которая имеет прообраз в виде доменной группы. Если для каждого члена группы проектирования "остальные фамилии" будут идентичными, то вместо того, чтобы для каждого члена рабочей группы определять связь в виде "исполнитель" => "остальные фамилии", можно определить более компактную единственную связь: "имя доменной группы" => "остальные фамилии", т.к. наверняка для всех членов этой группы проектирования "остальные фамилии" будут теми же. Эту инфу ( "имя доменной группы" => "остальные фамилии") можно хранить во внешнем XML-файле (или в ini/сериализованном объекте/и т.п.). Причём для каждой доменной группы можно назначать несколько вариантов "остальных фамилий", а у юзера (при создании нового файла) спрашивать, какой из имеющихся нужно использовать. При открытии уже существующего - проверять, не изменен ли в xml-файле тот набор "остальных фамилий", который используется в чертеже и если изменён - спрашивать у юзера: произвести ли в чертеже изменения в соответствии с изменением в xml? Хранение фамилий всё в тех же свойствах чертеже, которые я показывал выше.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 01.04.2011, 08:51
#22
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от hwd Посмотреть сообщение
Не надо мешать мух и котлеты. Автор топика указал, что автоматом хочет заполнять одну ячейку, содержащую инфу о том, кто исполнил чертёж. Эту инфу из AD легко получить. Если автоматом должны заполняться все участники - это совсем др. вопрос и в этом случае AD конечно не к месту (разве что "Исполнил" заполнить).
Так вопросы идут по принципу "Хозяйка, дай попить, а то так есть хочется, что переночевать негде, да и не с кем".

Сначала одну ячейку - Исполнил (ничтожный вопрос), потом других исполнителей, потом другие графы, потом чтобы название чертежа совпадало с вкладкой, потом чтобы ведомость чертежей составить, потом чтобы содержимое всех штампов всех чертежей обновить.

Вот и пытаемся направить в нужное направление, чтобы потом, по мере возникновения вопросов, их можно было легко решать.

Кстати, совершенно не обязательно (даже маловероятно), что в Active Directory будет забита информация по пользователю в том виде, в каком она должна быть в маленькой графе основной надписи.
ShaggyDoc вне форума  
 
Непрочитано 01.04.2011, 09:20
#23
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Я тут параллельно набросал "эскизик" обозначенного мною в предыдущем посте файла:
Код:
[Выделить все]
 
<?xml version="1.0" encoding="utf-8"?>
<!--Настройки вариантов заполнения фамилий в блоке основных надписей для каждой группы проектирования (доменной группы)-->
<DomainGroups>
  <!--Настройки для доменной группы-->
  <DomainGroup Name="Группа Атласа">
    <Variant Name="Имя первого варианта" Description="Тут пишем описание варианта">
      <!--Главный инженер-->
      <ChiefEngineer>Иванов И.И.</ChiefEngineer>
      <!--Руководитель проекта-->
      <ProjectManager>Петров П.П.</ProjectManager>
      <!--ГИП-->
      <ProjectChiefEnginee>Сидоров С.С.</ProjectChiefEnginee>
      <!--Нормоконтроль-->
      <NormsCorrespondence>Трофимов Т.Т.</NormsCorrespondence>
      <!--Проверил-->
      <Checking>Васечкин В.В.</Checking>
      <!--Исполнитель-->
      <Executed>%User%</Executed>      
    </Variant>
    <Variant Name="Имя второго варианта" Description="Тут пишем описание варианта">
      <!--Главный инженер-->
      <ChiefEngineer>Иванов И.И.</ChiefEngineer>
      <!--Руководитель проекта-->
      <ProjectManager>Матвиенко В.М.</ProjectManager>
      <!--ГИП-->
      <ProjectChiefEnginee>Сидоров С.С.</ProjectChiefEnginee>
      <!--Нормоконтроль-->
      <NormsCorrespondence>Трофимов Т.Т.</NormsCorrespondence>
      <!--Проверил-->
      <Checking>Путин В.В.</Checking>
      <!--Исполнитель-->
      <Executed>%User%</Executed>
    </Variant>
  </DomainGroup>
  <!--Настройки для доменной группы-->
  <DomainGroup Name="Группа Медведева">
    <Variant Name="Имя первого варианта" Description="Тут пишем описание варианта">
      <!--Главный инженер-->
      <ChiefEngineer>Кузнецов К.К.</ChiefEngineer>
      <!--Руководитель проекта-->
      <ProjectManager>Липченко И.И.</ProjectManager>
      <!--ГИП-->
      <ProjectChiefEnginee>Стороженко Д.Д.</ProjectChiefEnginee>
      <!--Нормоконтроль-->
      <NormsCorrespondence>Щербаков Ё.Ё.</NormsCorrespondence>
      <!--Проверил-->
      <Checking>Зимин А.Н.</Checking>
      <!--Исполнитель-->
      <Executed>%User%</Executed>
    </Variant>
  </DomainGroup>
</DomainGroups>

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Так вопросы идут по принципу "Хозяйка, дай попить, а то так есть хочется, что переночевать негде, да и не с кем".

Сначала одну ячейку - Исполнил (ничтожный вопрос), потом других исполнителей, потом другие графы, потом чтобы название чертежа совпадало с вкладкой, потом чтобы ведомость чертежей составить, потом чтобы содержимое всех штампов всех чертежей обновить.

Вот и пытаемся направить в нужное направление, чтобы потом, по мере возникновения вопросов, их можно было легко решать.

Кстати, совершенно не обязательно (даже маловероятно), что в Active Directory будет забита информация по пользователю в том виде, в каком она должна быть в маленькой графе основной надписи.
Когда мне приходят отчёты о работе пользователей в AutoCAD, в них фигурирует такая информация как ФИО (помимо прочей), которая извлекается как раз из Active Directory. Конечно, если в отделе кадров забьют болт на заполнение этой информации, то и AD её не предоставит. Или если там напишут в графе "Фамилия", что "Кузнецов козёл" - об этом узнает сразу вся группа проектирования, т.к. это будет написано в штампе. Обращение к AD подразумевает, что отдел кадров ответственно выполняет свои обязанности. ФИО там хранится в виде отдельных трёх полей (что видно из кода, показанного мною ранее в этом топике). Преобразовать Иванов Иван Иванович в Иванов И.И. программно не составляет труда.
Имхо.
Я не настаиваю на использовании AD, а лишь обозначаю один из возможных вариантов, при этом отдел кадров нужно уведомить, какая информация вами используется, чтобы они осознавали, важность её корректного заполнения в Active Directory.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 01.04.2011, 10:00
#24
Do$

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


Цитата:
Сообщение от hwd Посмотреть сообщение
Я не настаиваю на использовании AD, а лишь обозначаю один из возможных вариантов, при этом отдел кадров нужно уведомить, какая информация вами используется, чтобы они осознавали, важность её корректного заполнения в Active Directory.
Тут, наверное, сразу нужно было уточнить масштабы моей деятельности: только в рамках одного отдела (~15 человек). Как такового, автокад-адинистратора нет, стандартизацией автоматизацией и унификацией занимаемся сами в меру сил и возможностей, администраторы сети в автокаде практически не разбираеются (любая проблема с автокадом решается путем его сноса и повторной установки ). Получается такое некое закрытое атокад-сообщество в виде отдела внутри организации. Распространить наши стандарты и наработки на другие отделы практически нереально, так как слишком разные сферы и направления работы (ну и многочисленные факторы типа: "а мы вот так привыкли и нам так нравится, а подстраиваться под вас мы не будем"). При таком раскладе нереально организовать единые правила для всех отделов. Поэтому, рассчитывать на то, что в отделе кадров и администраторы сети будут делать что-то в угоду только одному отделу - утопия. Рассчитывать можно только на себя, по крайней мере пока...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 21.06.2011, 22:58
#25
Michael!

инженер
 
Регистрация: 29.01.2009
Тамбов
Сообщений: 63


Цитата:
Сообщение от Alan Посмотреть сообщение
Согласен с автором.
Вот привожу пример программного заполнения рамки с заполнением штампа.
Обратите, например, внимание на словари фамилий проверяющего (он м.б. не один) и т.д. и т.п.
Ничего этого из Active Directory, да еще и автоматом Вы не получите.
Надо давать и пользователю поработать. Только программно помогать надо.
Подскажите, а что это за программа такая для заполнения основной надписи?
Michael! вне форума  
 
Непрочитано 22.06.2011, 15:39
#26
lastloch


 
Регистрация: 23.12.2010
Сообщений: 65


Цитата:
Сообщение от Michael! Посмотреть сообщение
Подскажите, а что это за программа такая для заполнения основной надписи?
А я пользуюсь прогой, которую скачал здесьhttp://d-rilovo.narod.ru
какой-то E-degtyarev написал. До совершенства далеко, но вцелом устраивает.
lastloch вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP. Как запустить LISP программу при создании чертежа по шаблону? (Автоматическое заполнение основной надписи)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из lisp запустить еxe? tinik_89 LISP 17 15.07.2011 09:18
{Конкурс} Lisp. Задачки для студентов gomer LISP 10 05.01.2011 16:33
LISP для очистки чертежа от дублирующихся объектов Nikolays AutoCAD 5 13.12.2010 16:59
Как из Delphi запустить программу на AutoLISP Valery LISP 1 23.09.2005 20:51
Не удается запустить программу из загруженного ARX-файла plaz Программирование 2 01.09.2003 07:35