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

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

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

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Добрый день!
Уважаемые форумчане, на работе есть необходимость написать программу(это отдельная программа, а не плагин для автокада), которая по запросу юзера подключается к автокаду, дает команду автокаду на измерить площадь(_AREA так понимаю команда в автокаде) и после обратно в программу возвращает значение площади и периметра.
Подскажите как это сделать или ткните где это можно почитать. Это не учебное задание) Первый раз сталкиваюсь с программированием C# для автокада.

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

  • ADN Club
  • *****
  • Сообщений: 1996
  • Карма: 159
  • Пишу программки...
    • Блог
  • Skype: Compositum78
...
(это отдельная программа, а не плагин для автокада)
...
Подскажите как это сделать
В твоём случае - через COM.

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

  • Administrator
  • *****
  • Сообщений: 6890
  • Карма: 769
  • Рыцарь ObjectARX
  • Skype: rivilis
melkalex90
Приветствую на форуме! Я так понимаю, что это продолжение/развитие темы: http://forum.dwg.ru/showthread.php?t=125800
Для того чтобы не изобретать велосипед, выложи фрагмент dwg-файла с несколькими "помещениями".
Тогда станет понятно, что можно и нужно с ними делать. И можно ли вообще без помощи пользователя с ними что-то делать.
P.S.: Команду _AREA точно запускать не нужно. Как и любые другие команды. Через COM/ActiveX-модель AutoCAD можно добраться до свойств примитивов (площадь полилинии, список вершин, и т.д.)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • *****
  • Сообщений: 1996
  • Карма: 159
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Я так понимаю, что это продолжение/развитие темы: http://forum.dwg.ru/showthread.php?t=125800
Похоже двгру лежит на лопатках, многие темы кажут это:
Цитата: двгру
502 Bad Gateway
-----------------------
nginx/1.4.1

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

  • Administrator
  • *****
  • Сообщений: 6890
  • Карма: 769
  • Рыцарь ObjectARX
  • Skype: rivilis
Похоже двгру лежит на лопатках:
Цитата: двгру

    502 Bad Gateway
    -----------------------
    nginx/1.4.1

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

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

  • ADN Club
  • *****
  • Сообщений: 1996
  • Карма: 159
  • Пишу программки...
    • Блог
  • Skype: Compositum78
У меня работает.
у меня ссылку, которую вы дали - открывает, а вот все соседние топики - нет. В принципе, меня это не тревожит...

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

  • ADN Club
  • *****
  • Сообщений: 1996
  • Карма: 159
  • Пишу программки...
    • Блог
  • Skype: Compositum78
или ткните где это можно почитать
акадовская справка содержит информацию по своему COM API.

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Во вложении план помещения. У меня по каждому помещению необходимо получить площади и периметр.

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

  • ADN Club
  • *****
  • Сообщений: 1996
  • Карма: 159
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Во вложении план помещения.
Слово "мусор" к данному контенту более подходит. ИМХО. Прежде чем программно обрабатывать чертёж, его нужно к этому подготовить. То, что выложил ты - однозначно мусор, которому до программной обработки, как до Луны... Тому, кто создал этот "шедевр" не лишним будет открыть для себя такие примитивы, как "полилиния", а так же "область", дабы перспектива возможности программной обработки этого DWG замаячила хотя бы на горизонте.

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Уважаемый, мне не надо, чтобы программа полностью считала все сама. Второе это не мой чертеж а то, что мне предоставили. Третье, мне надо выделять определенные области и получать их площадь и периметр(потому я и писал про инструмент Измерить Площадь(_AREA) на сколько понимаю), остальное считаться будет в программе.

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

  • ADN Club
  • *****
  • Сообщений: 1996
  • Карма: 159
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Третье, мне надо выделять определенные области и получать их площадь и периметр
Я тебе об этом и пишу.

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

  • Administrator
  • *****
  • Сообщений: 6890
  • Карма: 769
  • Рыцарь ObjectARX
  • Skype: rivilis
Во вложении план помещения. У меня по каждому помещению необходимо получить площади и периметр.
Я не нашел во вложении никакого помещения - это черт знает что (набор отрезков), а не помещение.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 6890
  • Карма: 769
  • Рыцарь ObjectARX
  • Skype: rivilis
Третье, мне надо выделять определенные области и получать их площадь и периметр(потому я и писал про инструмент Измерить Площадь(_AREA) на сколько понимаю), остальное считаться будет в программе.
Если считать, что помещение может быть только многоугольником (нет круглых частей), то можно попросить пользователя указать вершины и затем вычислить площадь и периметр.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 59
  • Карма: 0
Я понимаю про что вы. Но в таком виде нам поставляются такие планы. И потому как нет объектов на чертеже мне надо делать вручную замерку через инструмент Измерить Площадь. Выделяю сам область которую надо померить и мне выдается в автокаде площадь и периметр. Именно это я хочу в программе(так как в итоге не сам буду работать с этим), по нажатию кнопки в написаной програме в открытом автокаде запускалась команда AREA, полученные значения передавались бы обратно. И дальше я бы оперировал бы с этими значениями

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

  • ADN Club
  • *****
  • Сообщений: 1996
  • Карма: 159
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Если считать, что помещение может быть только многоугольником
В помещении могут быть части, которые следует вычитать из общей площади: колонны, проёмы аля "второй свет", кладовки со швабрами, если они реализованы в виде отдельных закутков, не примыкающих к основным стенам. :) В виду этого примитивы областей использовать было бы более желательно (имхо).