Методом addcut у интерфейса ICutViewParam в Delphi (часть 2)

Автор Простой_инженер, 06.07.20, 07:08:04

« предыдущая - следующая »

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

Простой_инженер

Что я делаю не так? Хочу сделать местный разрез, но компас его не строит.

//Создаю прямоугольник
prymoygolnik:=ksRectangleParam(kompas.GetParamStruct(ko_RectangleParam));
prymoygolnik.x:=-10;
prymoygolnik.y:=-200;
prymoygolnik.height:=400;
prymoygolnik.width:=80;
prymoygolnik.style:=1;
z:=Document2D.ksRectangle(prymoygolnik,0);

//Добавляю его DrawingObject
DrawingContainer:=View as IDrawingContainer;
Rectangles:=DrawingContainer.Rectangles;
Rectangle:=Rectangles.Rectangle[z];
DrawingObject:=Rectangle as IDrawingObject;
DrawingObject.Update;

//View - вид, в котором необходимо сделать вырез. Так же этот вид остается активным.
//View1 - вид, в котором проходит секущая плоскость по координатам x=0, y=0.
View1:=Views.Get_ViewByNumber(1); //View:=Views.Get_ViewByNumber(2) - Наш вид, в котором происходит вырез имеет индекс 2
View1.Update;

CutViewParam:=View as ICutViewParam;
t:=CutViewParam.AddCut('Разрез',1,0,0,true,DrawingObject,View1);
if t=-1 then showmessage('нет') else showmessage('да');
View.Update;

на выходе получаю НЕТ. почему?

Sabahs



Sabahs

Общаться в первой теме, а не плодить кучу дублей.

DesignЯR

Цитироватьна выходе получаю НЕТ. почему?
Потому что нечего так нахально скрещивать API5 и API7.
Цитироватьz:=Document2D.ksRectangle(prymoygolnik,0);
...
Rectangle:=Rectangles.Rectangle[z];
Какова вероятность того, что Reference на прямоугольник совпадет с индексом этого прямоугольника в коллекции всех прямоугольников вида?
Выведите на экран и посмотрите значение Z и количество прямоугольников в коллекции.

А ещё лучше создайте прямоугольник через API7.

Sabahs

Модератор может удалить дубль темы?
Обсуждение тут - https://forum.ascon.ru/index.php?topic=34782.msg276045#msg276045
Цитата: DesignЯR от 06.07.20, 10:35:47Потому что нечего так нахально скрещивать API5 и API7.Какова вероятность того, что Reference на прямоугольник совпадет с индексом этого прямоугольника в коллекции всех прямоугольников вида?
Выведите на экран и посмотрите значение Z и количество прямоугольников в коллекции.

А ещё лучше создайте прямоугольник через API7.
IRectangles.Rectangle ищет по индексу или указателю, в справке ведать лень писать.