Здравствуйте!
Суть вопроса: необходимо переделать код вставки блока с LISP на NET:
(defun InsertBlock (BlockName /)
(setq FirstPoint (getpoint "\nУкажите точку вставки блока:"))
(if (= FirstPoint NIL) (exit))
(setq Rotate (getangle FirstPoint "\nУкажите направление поворота блока:"))
(setq CoordX (rtos (nth 0 FirstPoint) 2 4))
(setq CoordY (rtos (nth 1 FirstPoint) 2 4))
(vl-cmdf "_.-insert" BlockName (strcat CoordX "," CoordY ",0.00") "1" "1" (angtos Rotate 0 4))
)
Переделка должна быть выполнена так, чтобы сохранялась временная графика с изображением блока при запросе угла поворота и появлялось окно заполнения атрибутов (для соответствующих блоков) как на LISP.
После вставки блока должно продолжиться выполнения кода NET.
Были неудачные попытки использовать за основу следующий код:
object ActiveDocument = doc.GetAcadDocument();
object[] data = { "_.BLOCKICON " + blk.Name + "\n" };
ActiveDocument.GetType().InvokeMember("SendCommand", System.Reflection.BindingFlags.InvokeMethod, null, ActiveDocument, data);
Спасибо.