Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: serhiy79 от 13-07-2020, 21:25:03

Название: Объединение блоков , потом вставка в файл
Отправлено: serhiy79 от 13-07-2020, 21:25:03
Подскажите  как объединить два блока. Например, у меня есть два блока в переменных, у первого нету точки вставки, а у второго есть  координаты вставки относительно первого блока (если первый блок это br1 с координатами (x,y), то второй br2 с координатами (x+5, y -10). После их объединения, пользователь выбирает точку вставки для созданного блока. Блоки те же что и в https://adn-cis.org/forum/index.php?topic=9920.0. Я не понимаю как можно задать координаты для второго блока если у тебя нет координат первого.
Спасибо.
Название: Re: Объединение блоков
Отправлено: Александр Ривилис от 13-07-2020, 21:28:28
serhiy79,
У меня дежавю. Чем эта тема отличается от этой: https://adn-cis.org/forum/index.php?topic=9920.0 ?
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: serhiy79 от 13-07-2020, 21:30:24
В той теме у меня были координаты первого блока, он был уже вставлен в файл
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: Александр Ривилис от 13-07-2020, 21:36:06
После их объединения, пользователь выбирает точку вставки для созданного блока. Блоки те же что и в https://adn-cis.org/forum/index.php?topic=9920.0. Я не понимаю как можно задать координаты для второго блока если у тебя нет координат первого.
Каким образом пользователь выбирает точку вставки блока?
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: serhiy79 от 13-07-2020, 23:49:53
Каким образом пользователь выбирает точку вставки блока?
Через PromptPointResult
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: Александр Ривилис от 13-07-2020, 23:53:40
Каким образом пользователь выбирает точку вставки блока?
Через PromptPointResult
Соответственно твоя программа знает точку вставки блока. Так в чем же проблема?
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: serhiy79 от 14-07-2020, 03:27:19
Соответственно твоя программа знает точку вставки блока. Так в чем же проблема?
Да вы правы, она будет знать куда вставить объединенный блок. Здесь https://adn-cis.org/forum/index.php?topic=9920.0 два блока имеюют координаты точек вставки, а я спрашиваю можно ли объединить эти же два блока в таком же расположении , когда они находятся в переменных.
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: Александр Ривилис от 14-07-2020, 12:07:00
когда они находятся в переменных.
1. Я не понимаю что такое "блоки в переменных".
2. Вы путаете вставки блоков (BlockReference) и описание блоков (BlockTableRecord)
В вашем случае из двух BlockTableRecord (btr1 и btr2) следует сделать один BlockTableRecord (btr3). При этом примитивы из btr2 перед добавлением в btr3 следует перенести на заданное вами смещение. Ну а после этого на основе btr3 следует создать вставку блок br3 и вставить её по указанным пользователям координатам. Вроде как всё очевидно.
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: serhiy79 от 14-07-2020, 20:35:44
В вашем случае из двух BlockTableRecord (btr1 и btr2) следует сделать один BlockTableRecord (btr3). При этом примитивы из btr2 перед добавлением в btr3 следует перенести на заданное вами смещение.
Еще б знать как это делать, но в любом случае спасибо за подсказку, буду пробовать
Название: Re: Объединение блоков , потом вставка в файл
Отправлено: Александр Ривилис от 14-07-2020, 21:44:17
serhiy79,
В этом разделе подсказывают как делать, возможно дают куски кода (а они уже все были даны в предыдущих темах), а не делают полностью работу за человека, задавшего вопрос. Единственное место, где делают работу полностью на нашем форуме - это здесь: https://adn-cis.org/forum/index.php?board=38.0