Текущий архив: 2006.07.16;
Скачать: CL | DM;
Внизввод даннах в AutoCad Найти похожие ветки
← →
k_serg (2006-06-01 11:19) [0]Помогите решить проблему ввода данных в AutoCad.
есть информация о координатах точек XYZ . нужно ввести их в файл AutoCadа. Может кто-то решал такую задачу. Помогите.
← →
Sens © (2006-06-01 13:53) [1]Автокад (Lisp) умеет читать строки из файла, а по этому можно просто в делфях создать текстовое файло с параметрами (переменными), а потом лиспом прочесть...
← →
k_serg (2006-06-02 12:45) [2]попробовал объектную модель AutoCAD. получается ,но очень медленно.
каждая точка вводится отдельно, рисуется... а точек набирается до 500тыс. делаю так:
InsertPoint: OleVariant;
point: IAcadPoint;
// l = кол-во точек
for i:=1 to l do
begin
InsertPoint:= GetFloatPoint(x[i],y[i],z[i]);
point:= AcadDoc.ModelSpace.AddPoint(InsertPoint);
end;
это работает.хотелось бы ускорить процесс, пробовал чтобы вводился сразу массив, но вызываются ошибки
// l = кол-во точек
Points:= VarArrayCreate([0, l*3+1], VarDouble);
// заполняем массив точек
for i:=0 to l-1 do
begin
Points[i*3]:= x[i]; Points[i*3+1]:= y[i];Points[i*3+2]:= z[i];
end;
далее 1-й вариант:
AcadDoc.Application.ActiveDocument.ModelSpace.AddTrace(Points);
2-й вариант:
Poly :=AcadDoc.Application.ActiveDocument.ModelSpace.AddPolyline(Points);
вызывает ошибку EOleException c сообщением "Ole error 80210011"
3-й вариант:
AcadDoc.Application.ActiveDocument.ModelSpace.InsertBlock(Points,"1",1,1,1,0,3);
вызывает ошибку EOleException c сообщением "Filer error "
помогите избавиться от ошибок.
или может есть другой способ ускорить процес?
Страницы: 1 вся ветка
Текущий архив: 2006.07.16;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.014 c