И еще: с чем связано не желание Lispa нормально отрабатывать строчкуAutoCAD в качестве разделителя целой и дробной части использует точку, а в качестве разделителя X,Y,Z - запятую. Подозреваю, что Str(pp(0)) возвращает строковое представление дробного числа и соответственно в нём присутствует запятая (ты можешь напечатать его и проверить). Так что тебе нужно запятые в строках менять на точки.
strCommand = "_copy" & vbCr & Str(pp(0)) & "," & Str(pp(1)) & vbCr
при pp(0) любого положительного значения?
Если вбить в строку конкретные значения типа & "10000,10000" &... то все корректно работает, а через переменные,- отказывается работать с положительными значениями...
Насобирал и адаптировал под себя следующее:Жуть. AblocK - это и есть твой вставленный блок.
1. Не совсем понимаю как корректно выбрать только что созданный блок, для последующей его копирования с помощью LISPa.Зачем это извращение с копирование при помощи LISP? Метод Copy создаёт дубликат. Дальше используя метод TransformBy ты можешь его перенести в нужную точку.
Зачем это извращение с копирование при помощи LISP? Метод Copy создаёт дубликат. Дальше используя метод TransformBy ты можешь его перенести в нужную точку.У меня задача, в данном случае, создать множественную вставку в чертеж объекта, который при этом еще и будет "висеть на мышке", просто переместить единичный блок я могу запросив координату перед вставкой, но не удобно. В это извращение с Лиспом и полез только найдя на одном из форумов схожую задачу, котоhe. лиспом пытались решить , упомянув что в VBA такое не возможно.
AutoCAD в качестве разделителя целой и дробной части использует точку, а в качестве разделителя X,Y,Z - запятую. Подозреваю, что Str(pp(0)) возвращает строковое представление дробного числа и соответственно в нём присутствует запятая (ты можешь напечатать его и проверить). Так что тебе нужно запятые в строках менять на точки.Проверил, msgbox возвращает корректную строку. Дело здесь именно в знаке. С отрицательными значениями работает, с положительными нет... Магия, однако.
Проверил, msgbox возвращает корректную строку.Не уверен. Знак роли играть не должен.
Не уверен. Знак роли играть не должен.Карма у меня похоже такая :)) Неоднократно уже проявляется подобное.
У меня задача, в данном случае, создать множественную вставку в чертеж объекта, который при этом еще и будет "висеть на мышке", просто переместить единичный блок я могу запросив координату перед вставкой, но не удобно.Если стоят такие задачи, то нужно бросать тратить время на VBA и переходить на AutoCAD .NET API (C# или на крайний случай VB.NET).