C# и AutoCAD2016. Открытие чертежей и получение параметров инструмента "Измерить

Автор Тема: C# и AutoCAD2016. Открытие чертежей и получение параметров инструмента "Измерить  (Прочитано 40547 раз)

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

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Мне бы главное подцепить данные. Кроме всего прочего у меня допустимая погрешность(на расчет материалов) max 15%. Точность до тысячных не требуется.
А 15% это точность относительно чего? Если между тем что заказали по таким как у тебя "чертежам" и реальным материалом - это еще постараться уложится надо + наверняка есть еще и технологические вопросы про которые ты пока не думаешь - я сомневаюсь что у тебя там равный пол песком засыпать надо - есть еще партии, отходы, укладка, подгонка и пр  - только на ней можно и на 35% "разбежаться". Сделать для галочки (это как предлагаешь ты) можно и 15 строками на лиспе - осталось только услышать куда данные девать - запустить команду "_area", а потом считать в нужное место указанные Александром системные переменные. Сделать, чтоб реально считало с приемлемым процентом погрешности - дело не простое не столько даже программно - сколько организационно - надо и файлы кому-то подгонять под нужный формат - то есть ручками "подчеркивать" что нужно - это одна программа; данные получить и их разобрать (например свести номенклатуры со слоями или еще как) - это надо отдельную БД держать (или из 1С экспортировать - чтоб бухгалтерам было понятно что Вы там насчитали) - в любом случае или еще отдельная программа - либо модуль экспотра из вашей системы учета, потом линейные и площадные номенклатуры надо оптимизировать и дать карты оптимального раскроя (для справки в общем виде это не решенная математическая задача - и тут для "нормального" результата надо немало "попотеть" с математикой - Контрапович, Симплекс метод и др. радости), потом еще не плохо бы посмотреть - что есть из реальных остатков от других заказов на текущий момент (когда пора уже делать работу, а не на стадии проектирования - т.к. они еще только "виртуальны") и возможно все придется "немного" пересчитать - остатки кстати тоже надо, чтоб кто-то учел и каким-либо образом ввел. И это только часть которую надо организовать, написать и проверить - еще куча подводных камней - без которых это не автоматизация, а легкое упрощение возни. Чтоб стал реальный прирост в экономии материала, производительности (человеко часах), точности оценки и корректности - это достаточно серьезная задача - 100% выходящая за рамки (оклад) IT-шника.
Все что вы написали в итоге будет учитываться позже(по разбегу на 35%). Так сказать в процессе. А сейчас главное получить промежуточные результаты, от чего можно будет отталкиваться дальше. Расчет по остаткам это возня менеджеров и бухгалтерии меня никоим образом не касающаяся. Данная программа больше необходимо для того чтобы уменьшить количество рейсов транспортного цеха на объекта с довозом материалов. Ситуация такова, что из за неправильных расчетов менеджеров, машина на объект может сделать и 5 ходок. Когда реально можно было бы уложиться и за две(это пример).  Я понимаю, что все еще придеться очень долго приводит скажем так в "порядок". Но старт должен быть.

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Параллельно будешь по точкам эти контура строить (полилиния) для того чтобы при повторном запросе не нужно было повторно указывать все точки. Идея с командой _BOUNDARY мне не нравится - слишком часто она возвращает не то то, что ожидалось.
Но старт должен быть.

Вот Ваш старт: ссылка
ИМХО, маленькое дополнение к коду, в методе Update() сразу после объявления переменной pl имеет смысл указать pl.Closed = true;

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

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

  • Administrator
  • *****
  • Сообщений: 13832
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Вот Ваш старт: ссылка
Возможно для старта это будет слишком сложно.
Можно начать с этого: http://adn-cis.org/forum/index.php?topic=975.msg4284#msg4284
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Возможно для старта это будет слишком сложно.
Можно начать с этого: http://adn-cis.org/forum/index.php?topic=975.msg4284#msg4284

Ну да  ;D  Это очень просто  ;D ;D ;D Ну просто вариант для школьника  ;D ;D ;D
Вот рассмешили  :D

Есть еще проще вариант - обучиться Автокаду (можно за пару недель освоить) и пользоваться уже готовым функционалом Автокада.


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

  • Administrator
  • *****
  • Сообщений: 13832
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Есть еще проще вариант - обучиться Автокаду (можно за пару недель освоить) и пользоваться уже готовым функционалом Автокада.
1. Этот функционал не даёт то, что нужно автору - данные о площади и периметре в его программу.
2. _BOUNDARY очень часто даёт совсем не тот результат, на который расчитываешь. Особенно если рисовали без привязок.

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Есть еще проще вариант - обучиться Автокаду (можно за пару недель освоить) и пользоваться уже готовым функционалом Автокада.
Этот функционал не даёт то, что нужно автору - данные о площади и периметре в его программу.
_DATAEXTRACTION и дальше внешней программой обрабатывать, впрочем я этот вариант автору уже предлагал, не пошло.

По поводу привязок, автор же написал что точности в 15% вполне достаточно =)

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Уважаемые, я понимаю, что вы проходили множество "кочек". Но я не совсем все понимаю из того, что вы говорите. Я потому и обратился к Вам за помощью.
Для меня программирование под AutoCAD это темный лес.

Я так понимаю, при создании плагина для автокада, надо cоздавать библиотеку классов? Если да, то подключать в автокад надо будет таким способом


Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Особенно если рисовали без привязок.

Абсолютно с Вами согласен.

Этот функционал не даёт то, что нужно автору - данные о площади и периметре в его программу.

Прекрасно понимаю, но будьте честны с melkalex90, что быстро свою задачу он не решит, даже если будет учиться по примерам. Я знаю как решить эту задачу с помощью COM, но даже я не рискну предположить со сколькими проблемами он столкнется прежде, чем сможет получить площадь и периметр объектов. Особенно, если ему потребуется конкретная полилиния.

Своим видео я продемонстрировал, что melkalex90 сможет быстро обработать чертеж, прежде чем сработает его будущее приложение.

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Я так понимаю, при создании плагина для автокада, надо cоздавать библиотеку классов? Если да, то подключать в автокад надо будет таким способом
Я же Вам скидывал ссылку на плэй лист в youtube, где подробно разбирается как писать и с чего начать, по каким  причинам игнорируете?

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Я так понимаю, при создании плагина для автокада, надо cоздавать библиотеку классов? Если да, то подключать в автокад надо будет таким способом
Я же Вам скидывал ссылку на плэй лист в youtube, где подробно разбирается как писать и с чего начать, по каким  причинам игнорируете?
Это и есть ссылка на одно видео из плэй листа

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

  • Administrator
  • *****
  • Сообщений: 13832
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Я так понимаю, при создании плагина для автокада, надо cоздавать библиотеку классов?
Да.
Если да, то подключать в автокад надо будет таким способом
Это вопрос или утверждение? Смотреть 40 минут видео чтобы понять всё ли там в порядке у меня нет времени.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Да уж  :D  Проще дать сразу готовое решение  :)

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Если да, то подключать в автокад надо будет таким способом
Если вопрос, то ответ наверное тут: ссылка

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Для меня программирование под AutoCAD это темный лес.
Похоже что не только программирование, но и работа в AudoCAD в целом - судя по тому, что такие примитивы как "полилиния" и "область" тебе не знакомы. Прежде чем писать плагины для приложения, не лишним было бы получить хотя бы базовые навыки работы с ним. ИМХО.

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Это вопрос или утверждение? Смотреть 40 минут видео чтобы понять всё ли там в порядке у меня нет времени.
Это был вопрос.
Пойду смотреть да разбираться. Благодарю за помощь.