Тема: по программированию в AutoCAD

Подскажите пожалуйста по программированию в AutoCAD:
Если у меня, к примеру в Access/VBA есть массив с координатами точек, то я могу из своей программы вызвать ACAD, вычертить полилинию из этих точек, замкнуть, и узнать периметр и площадь этой фигуры. А можно такое сделать без установленного автокада, но с помощью его библиотек?

Re: по программированию в AutoCAD

> fedos
1) Без установленного AutoCAD - нельзя.
2) Если цель получить периметр и площадь, то зачем нужен AutoCAD? Есть алгоритмы вычисления площади/периметра замкнутого многоугольника. Вот и воспользуйся ими.

Re: по программированию в AutoCAD

Подскажите пожалуйста как сделать в Lisp программе, чтобы после отрисовки нескольких линий их можно было бы выделить (программно) без применеия рамки или секущей рамки. Я когда-то это делал лет 15 назад но уже забыл, кажется использовал команду last (последний) но это срабатывает только для последнего примитива

Re: по программированию в AutoCAD

> Павел
Ну зачем же в ветке VBA задавать вопросы
по Автолиспу?

(defun C:CL()
  ; запоминаем привязку
  (setq osm (getvar "osmode"))
  ; обнуляем ее
  (setvar "osmode" 0)
  ; отключаем эхо-вывод командной строки
  (setvar "cmdecho" 0)
  ;создаем пустой набор
  (setq ss (ssadd))
  ; в цикле рисуем линии пока не нажмем Enter или правую клавишу мыши
  (while (setq p1 (getpoint "\nНачало линии:"))
            (setq p2 (getpoint p1  "\nКонец линии:"))
    (command "_.line" p1 p2 "")
    ; определяем последний нарисованный примитив (линию)
    (setq ln (entlast))
    ; добавяем ее в набор
    (ssadd ln ss)
    )
  (alert (strcat "В наборе:\n" (itoa (sslength ss)) " линий"))
  ;; здесь следуют дальнейшие манипуляции с набором
  ;; например копируем набор в другое место
  (prompt "\nУказать первую точку затем точку вставки")
  (command "_.copy" ss "" pause pause)
  ; восстанавливаем привяку
  (setvar "osmode" osm)
  ; включаем эхо-вывод командной строки
  (setvar "cmdecho" 1)
  ; тихий выход из программы
  (princ)
  )
(prompt "\nКоманда для старта CL")
(princ)

~'J'~