Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: 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. Я не понимаю как можно задать координаты для второго блока если у тебя нет координат первого.
Спасибо.
-
serhiy79,
У меня дежавю. Чем эта тема отличается от этой: https://adn-cis.org/forum/index.php?topic=9920.0 ?
-
В той теме у меня были координаты первого блока, он был уже вставлен в файл
-
После их объединения, пользователь выбирает точку вставки для созданного блока. Блоки те же что и в https://adn-cis.org/forum/index.php?topic=9920.0. Я не понимаю как можно задать координаты для второго блока если у тебя нет координат первого.
Каким образом пользователь выбирает точку вставки блока?
-
Каким образом пользователь выбирает точку вставки блока?
Через PromptPointResult
-
Каким образом пользователь выбирает точку вставки блока?
Через PromptPointResult
Соответственно твоя программа знает точку вставки блока. Так в чем же проблема?
-
Соответственно твоя программа знает точку вставки блока. Так в чем же проблема?
Да вы правы, она будет знать куда вставить объединенный блок. Здесь https://adn-cis.org/forum/index.php?topic=9920.0 два блока имеюют координаты точек вставки, а я спрашиваю можно ли объединить эти же два блока в таком же расположении , когда они находятся в переменных.
-
когда они находятся в переменных.
1. Я не понимаю что такое "блоки в переменных".
2. Вы путаете вставки блоков (BlockReference) и описание блоков (BlockTableRecord)
В вашем случае из двух BlockTableRecord (btr1 и btr2) следует сделать один BlockTableRecord (btr3). При этом примитивы из btr2 перед добавлением в btr3 следует перенести на заданное вами смещение. Ну а после этого на основе btr3 следует создать вставку блок br3 и вставить её по указанным пользователям координатам. Вроде как всё очевидно.
-
В вашем случае из двух BlockTableRecord (btr1 и btr2) следует сделать один BlockTableRecord (btr3). При этом примитивы из btr2 перед добавлением в btr3 следует перенести на заданное вами смещение.
Еще б знать как это делать, но в любом случае спасибо за подсказку, буду пробовать
-
serhiy79,
В этом разделе подсказывают как делать, возможно дают куски кода (а они уже все были даны в предыдущих темах), а не делают полностью работу за человека, задавшего вопрос. Единственное место, где делают работу полностью на нашем форуме - это здесь: https://adn-cis.org/forum/index.php?board=38.0