Получить объекты относительно координат рамки листа.

Автор Doom, 24.08.23, 01:34:26

« назад - далее »

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

Doom

Добрый вечер!

Есть чертеж и на нем расположены несколько рамок как получить объекты так что бы их координаты были относительно этих же рамок ?
Эти объекты расположены на одном виде. Например точка которая расположена на втором листе имеет координату X в которой суммируются ширина предыдущего листа.
Как мне получить эту точку что бы у нее координата X была относительно рамки в которой она расположена ?

ksSelectGroup - указываю рамку, а дальше все координаты перебирать? есть ли простой способ ?

Doom

#1
При смене ЛСК почему то координаты не меняются у объектов - почему так ?
Пересохранил/перестроил/обновил и не чего.

Scull_

А может Вы просто думать не хотите?
Да и вообще правильно заданный вопрос, 100% успеха.

Doom

Цитата: Scull_ от 30.08.23, 00:25:13Да и вообще правильно заданный вопрос, 100% успеха.

Вы читаете через строку - я это уже давно заметил :( вот что не понятного в вопросе ?

Scull_

А, когда мы общаемся вдвоём, цитировать, обязательно?
PS. Раздел программирование, а не сделайте за меня домашнее задание.

Doom

Есть объект А нужно что бы он имел координаты X2 а не X1

Логично было предположить - что если сместить ЛСК на следующий левый нижний угол рамки то координаты  объекта А изменится. Вот я и спросил почему не изменились?


Doom

У меня просто времени нету - сам бы разобрался.

Scull_

Тут работа с видом, а лист живет отдельно от вида.
PS. Вы считаете, что у меня времени предостаточно?
Я, Вам устал объяснять, что если между сообщениями до шести часов, то их можно отредактировать, но Вы плодите новые.
Я, думаю найдете время, разберетесь.
Уже объяснял, поиск Вам поможет, хотя могли удалить, но это не ко мне.

Doom

Цитата: Scull_ от 30.08.23, 01:07:57Тут работа с видом, а лист живет отдельно от вида.

так я об этом и пишу что все объекты на одном виде.

Цитата: Scull_ от 30.08.23, 01:07:57PS. Вы считаете, что у меня времени предостаточно?
я не прошу объяснений - только вектор в виде цепочке объектов и все.

Вы на сообщение потратили больше времени!

Scull_


Валерий Изранов

Цитата: Doom от 24.08.23, 01:34:26точка которая расположена на втором листе имеет координату X в которой суммируются ширина предыдущего листа.
Как мне получить эту точку
Задача трудновыполнимая и не имеющая никакого практического смысла.
Гораздо важнее и интереснее было бы получить расстояние от этой точки до центра ячейки с надписью "Утв".

Doom

Цитата: Валерий Изранов от 30.08.23, 07:00:28Задача трудновыполнимая и не имеющая никакого практического смысла.

Не чего не трудная и уже вроде как видел решение на форуме только не найду где. Там что то делали с ЛСК и еще что то ...

Doom

Цитата: Scull_ от 30.08.23, 01:07:57PS. Вы считаете, что у меня времени предостаточно?

Я оценил ваш танчик в браузере!

lavgirb

Цитата: Doom от 30.08.23, 00:57:59Есть объект А нужно что бы он имел координаты X2 а не X1

Логично было предположить - что если сместить ЛСК на следующий левый нижний угол рамки то координаты  объекта А изменится. Вот я и спросил почему не изменились?


Если создать пустой вид и вставить его в правый нижний угол первого листа, то точка А, вставленная в этот пустой вид, будет иметь координату X2
В систtмном виде, как у Вас координата точки будет всегда X2. Можно и пересчитать: из X1 вычесть ширину первого листа. получим X2.
Так?

Doom

#14
Цитата: lavgirb от 30.08.23, 13:21:09из X1 вычесть ширину первого листа. получим X2.Так?

Так оно так - я всеми силами пытаюсь сократить время чтения объектов - в итоге невероятно долго выполняется задача на обработку 100к линий уходит несколько десятков минут.

Все САПРы, при работе с ними через com объект - используют только 1 ядро процессора.  Некоторые вообще как черепахи - на создание 1 линии с привязками уходит чуть ли не 1/60 часть секунды.

Могу создать несколько потоков, но я не думаю что они смогут работать одновременно извлекая объекты и при этом одновременно работать с одним экземпляром программы.
Поэтому приходится бороться за каждые доли секунды на каждом участке.

lavgirb

Цитата: Doom от 30.08.23, 13:28:51Так оно так - я всеми силами пытаюсь сократить время чтения объектов - в итоге невероятно долго выполняется задача на обработку 100к линий уходит несколько десятков минут.

Все САПРы, при работе с ними через com объект - используют только 1 ядро процессора.  Некоторые вообще как черепахи - на создание 1 линии с привязками уходит чуть ли не 1/60 часть секунды.

Могу создать несколько потоков, но я не думаю что они смогут работать одновременно извлекая объекты и при этом одновременно работать с одним экземпляром программы.
Поэтому приходится бороться за каждые доли секунды на каждом участке.

Если возможно, можно вместо линий с привязками вставлять готовые фигуры: прямоугольник, прямоугольник со скругленными углами... Скорость заметно возрастает.

Doom

Цитата: lavgirb от 30.08.23, 14:01:44вставлять готовые фигуры: прямоугольник, прямоугольник со скругленными углами...

Не так все просто - не все поддерживают одинаковую работу с ними как с тем же примитивом - линии/окружности/ и тд.

Не пробовал через коллекцию объектов в буфере обмена и затем ставить - но тут есть много НО, каждый объект имеет последующие связи для работы с ним - тут есть пути, но что то становится кудрявый кодик. Прям как в Ералаше - "Ничего себе за хлебушком сходил".