Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Значение атрибута, задающее угол для параметра вращения в динамическом блоке

Значение атрибута, задающее угол для параметра вращения в динамическом блоке

Ответ
Поиск в этой теме
Непрочитано 02.05.2019, 16:59
Значение атрибута, задающее угол для параметра вращения в динамическом блоке
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,030

Есть динамический блок, стрелка в котором имеет параметр вращения. И в блоке есть атрибут.
Как сделать, чтобы угол вращения элемента был равен значению атрибута?

Были не раз похожие темы - задавать длину чего-нибудь в динблоке по значению атрибута или т.п. Наверняка и с поворотом уже обсуждалось, но найти не получается.

Lisp, наверное, нужен?

Миниатюры
Нажмите на изображение для увеличения
Название: rotation_parameter_attribute.png
Просмотров: 90
Размер:	11.4 Кб
ID:	213784  

Вложения
Тип файла: dwg
DWG 2010
Rot_Attr.dwg (444.0 Кб, 18 просмотров)

__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 02.05.2019 в 19:43.
Просмотров: 5811
 
Непрочитано 03.05.2019, 12:45
#21
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Вот собственно в этом вся и разница: у Вас учебный пример, у меня просто решение задачи автора.
Думаете автору, который за чертову уйму времени не нашел этого самого времени на изучение любого ЯП нужен учебный пример, к тому же в ветке форума посвященной НЕ программированию?


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
хотя бы тем - что не надо будет указывать, куда сохранять файл, затем идти туда, править файл и обратно загружать. И файл извлечения потом же остается на диске?
Угу, программа в точности повторяет поведение команд AttIN, AttOUT в автокаде.

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
И если посмотрите на мой код - меняет поворот только тех блоков, которые имеют различные значения атрибута и динпараметра поворота - зачем лишний раз дергать на изменение БД чертежа...
Ээээ и что?
https://github.com/BoxaShu/dynIN_dyn..._2017/DynIN.cs строка 312
Boxa вне форума  
 
Непрочитано 03.05.2019, 13:06
#22
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,006


Цитата:
Сообщение от Boxa Посмотреть сообщение
Вот собственно в этом вся и разница: у Вас учебный пример, у меня просто решение задачи автора.
Разница в том, что мой код решает задачу без дополнительных телодвижений и костылей в виде файлов, которые потом еще надо обрабатывать и вручную удалять (чтобы не скапливался мусор на диске). Универсальность не всегда нужна - зачастую надо выполнение определенной задачи по "нажатию кнопки".
Сергей812 вне форума  
 
Автор темы   Непрочитано 03.05.2019, 13:52
#23
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Boxa Посмотреть сообщение
DynIN DynOUT, все уже написано... импортировать атрибуты и дин. свойства в ексель и там назначить дин свойству значение из атрибута (дин. свойства поворота, они в радианах). Экспортировать обратно.
Спасибо! Я вчера уже Вашу программу нашел, и пытался в Вашей теме сказать это "спасибо". И даже успел ее порекомендовать.
Задачу темы Ваша программа решает. Особенно она хороша в случаях, когда нужно сразу изменить несколько разных параметров и значений разных атрибутов.

Но, действительно, для задачи этой темы Ваше решение сложновато. Во-первых, пользователь средней кривизны рук легко может что-то не так сделать с CSV. Во-вторых, если нужно изменить только один параметр, то было бы достаточно это сделать прямо, без внешних файлов - как это делает 99.9% всех лиспов и т.п.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 03.05.2019, 13:58
#24
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Разница в том, что мой код решает задачу без дополнительных телодвижений и костылей в виде файлов, которые потом еще надо обрабатывать и вручную удалять (чтобы не скапливался мусор на диске). Универсальность не всегда нужна - зачастую надо выполнение определенной задачи по "нажатию кнопки".
Се ля ви, такова плата за универсальность, можете предложить другое столь же универсальное решение, с удовольствием воспользуюсь, с другой стороны телодвижения для перекомпиляции кода под другие блоки видимо предполагается не учитывать...
В любом случае, оффтоп это, автору предложено два решения, а спор Универсальный VS Специализированный инструмент тут не уместен, да и мне не интересен.
Boxa вне форума  
 
Автор темы   Непрочитано 03.05.2019, 14:00
#25
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Boxa Посмотреть сообщение
Се ля ви, такова плата за универсальность...
Я не умаляю Вашего решения! Только что порекомендовал его еще раз.
Просто всему свое место.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 03.05.2019, 14:31
#26
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,006


Offtop:
Цитата:
Сообщение от Boxa Посмотреть сообщение
а спор Универсальный VS Специализированный инструмент тут не уместен, да и мне не интересен.
так неинтересен - что половину темы ему посвятили в постах, пытаясь самоутвердиться))

Цитата:
Сообщение от Boxa Посмотреть сообщение
с другой стороны телодвижения для перекомпиляции кода под другие блоки видимо предполагается не учитывать...
ну насколько понял, компиляцию готового кода ТС не освоил:
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Задачу темы Ваша программа решает.
ну может кому то из менее ленивых поможет мой код-пример)
Сергей812 вне форума  
 
Непрочитано 03.05.2019, 17:32
#27
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Offtop:
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
так неинтересен - что половину темы ему посвятили в постах, пытаясь самоутвердиться))
не интересен, потому что сам предпочитаю специализированные инструменты и квалификации хватает что бы писать эти инструменты пачками, по потребности. Универсальный DynIn создавался именно как расширенная версия AttIN AttOUT для решения своих задач простыми пользователями. Для меня написание этой программы было интересно с точки зрения изучения System.Reflection, интерес свои я удовлетворил, собственно потому развитие программы и остановилось, нет интереса и времени.
Да и я уже большой мальчик, прекрасно знаю чего стою, так что самоутверждаться нужды нет.
Boxa вне форума  
 
Непрочитано 10.05.2019, 00:21
#28
Дегни Тагарт


 
Регистрация: 15.02.2017
Сообщений: 47


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Были не раз похожие темы - задавать длину чего-нибудь в динблоке по значению атрибута или т.п.
Будуочень благодарна за ссылку на эту тему!!!
Скйчас мучаюсь с динамическим блоком окна - надо чтобы ширина, задаваемая динамическим блоком автоматически брала значение сатрибута этого же блока
Дегни Тагарт вне форума  
 
Непрочитано 10.05.2019, 00:59
#29
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,006


Цитата:
Сообщение от Дегни Тагарт Посмотреть сообщение
ширина, задаваемая динамическим блоком автоматически брала значение сатрибута этого же блока
а почему не наоборот?) Откуда значение в атрибуте задается?
Сергей812 вне форума  
 
Автор темы   Непрочитано 10.05.2019, 03:04
#30
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Дегни Тагарт Посмотреть сообщение
Будуочень благодарна за ссылку на эту тему!!!
Скйчас мучаюсь с динамическим блоком окна - надо чтобы ширина, задаваемая динамическим блоком автоматически брала значение сатрибута этого же блока
По-моему, этого до сих пор никто так и не сделал.
Кроме этого dynIN, dynOUT от Boxa. Но для оперативных и многократных действий это сложновато. Эти dynIN, dynOUT отличны для разового и оптового действия. И не ограничены только передачей значений атрибутов в параметры.

----- добавлено через ~12 ч. -----
Для быстрой и удобной работы было бы лучше вроде этого:
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Если в общем виде, чтобы для любого случая, то могло быть так:
1. Запрашивается название динпараметра.
2. Запрашивается название атрибута.
3. Выбор объектов.
4. Присваивается значение динпараметру.
Или:
...
Немного точнее:
1. Обрабатывается предварительный выбор.
2. Если нет выбранного, то запрашивается: Выбрать динамические блоки одного названия.
3. Если в выборке динблоки с разными названиями, то пишется: Выбраны динамические блоки с разными названиями. Опять запрашивается: Выбрать динамические блоки одного названия.
Если в выборке не только динблоки, другие типы примитивов, то они игнорируются.
4. Для выбранных вхождений динамического блока выводится список его атрибутов с запросом: Введите название нужного атрибута.
5. Выводится список динамических параметров с запросом: Введите название нужного параметра.
6. Значения из указанного атрибута передаются в значения параметра.
Если в атрибутах не числовые значения, то они не передаются.
7. Выводится отчет: Изменены параметры: N/M. Где N - число замененных значений параметров, M - число выбранных динблоков.

Лучше, конечно, не вводить вручную названия атрибутов-параметров, а выбирать из списков, но это, наверное, сложнее написать.
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 10.05.2019 в 15:32.
АлексЮстасу вне форума  
 
Непрочитано 10.05.2019, 19:54
#31
Дегни Тагарт


 
Регистрация: 15.02.2017
Сообщений: 47


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
а почему не наоборот?) Откуда значение в атрибуте задается?
Конечная цель:
1. Вставляю блок
2. В окне атрибутов прописиваю: маркировка, ширина, высота
3. Динамическими свойствами блоков выставляю в нужное место и положение

4. В свойствах динамического блока опять прописиваю ширину-высоту, используя "растяжение" и получаю нужноегеометрическое изображение.

НО:
получаеться что ширину-высоту я ввожу ДВА раза: сначала для надписи в атрибуте, а второй раз - для изменения геометрии в свойствах.
Это мне кажеться не логичнным, и хочеться вводить один раз.

----- добавлено через ~6 мин. -----
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Сообщение от АлексЮстасу
Если в общем виде, чтобы для любого случая, то могло быть так:
1. Запрашивается название динпараметра.
2. Запрашивается название атрибута.
3. Выбор объектов.
4. Присваивается значение динпараметру.
Или:

А как это вызвать?
Дегни Тагарт вне форума  
 
Непрочитано 10.05.2019, 20:07
#32
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,006


Цитата:
Сообщение от Дегни Тагарт Посмотреть сообщение
2. В окне атрибутов прописиваю: маркировка, ширина, высота
3. Динамическими свойствами блоков выставляю в нужное место и положение
а почему не вставить в атрибут поле с ссылкой на динпараметр (только делайте через местозаменитель блока вставку поля), потом сразу ручками выполняете п.3 после п.1 и обновляете чертеж - чтобы поля обновились.
Сергей812 вне форума  
 
Непрочитано 29.10.2021, 23:39
#33
Falaleichik


 
Регистрация: 15.02.2011
Сообщений: 40


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Спасибо!
Как это вызывать из Автокада?
Алекс, доброго Вам времени суток. Времени прошло много, но вот проблема так и не была решена:-)
Вам удалось решить Вашу задачу с углом? Каким в итогу методом?
Falaleichik вне форума  
 
Автор темы   Непрочитано 30.10.2021, 05:42
#34
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Falaleichik Посмотреть сообщение
Времени прошло много, но вот проблема так и не была решена:-)
У меня ничего. И я не программист.
С тех пор я к этому не возвращался.
Время от времени подобные темы проглядывал, но мельком.
Например, сходу: https://forums.autodesk.com/t5/visua...nt/m-p/8581332
Но даже не проверял.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 15.11.2021, 01:00
#35
Falaleichik


 
Регистрация: 15.02.2011
Сообщений: 40


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
У меня ничего. И я не программист.
С тех пор я к этому не возвращался.
Время от времени подобные темы проглядывал, но мельком.
Например, сходу: https://forums.autodesk.com/t5/visua...nt/m-p/8581332
Но даже не проверял.
Итак, кажется, что-то похожее на решение найдено.
1. Берете Ваш файл с динамическими блоками и устанавливаете желаемое значение атрибута, возможно имеет смысл ввести атрибут с порядковым номером. См. Image 1.
2. Скачиваете примочку от Воха, как описано в инструкции https://github.com/BoxaShu/dynIN_dyn...aster/_Release
3. При помощи этой примочки и команды DYNOUT генерируете файл *_out.CSV
4. Переходите в Excel через данные/ получить внешние данные/ из текста открываете этот файл. Нужно поставить галочку (разделитель - ; точка с запятой) См. Image 2.
5. Производите необходимые манипуляции с данными См. Image 3, можете использовать формулы.
6. Теперь нужно сохранить это в том же формате *_out.CSV с разделителями ; (точка с запятой) для этого нужно изменить стандартный разделитель , (запятая) на ; (точка с запятой). Смотрим этот сайт как сделать (https://www.koskila.net/how-to-chang...sv-from-excel/). См. Image 4.
7. Сохранив файл *_in.CSV, открываем его в автокаде через функцию DYNIN.
8. Загрузив файлы, значение параметра динамического блока меняется (См. Image 5), но я не стал разбираться в причинах несоответствия значений атрибута и динамического блока. Для моих задач с диаметром крон деревьев все работало. В Вашем случае углов нужно немного поэкспериментировать, но думаю, что у Вас все получится.
Миниатюры
Нажмите на изображение для увеличения
Название: Image  (1).JPG
Просмотров: 30
Размер:	27.9 Кб
ID:	242724  Нажмите на изображение для увеличения
Название: Image  (2).JPG
Просмотров: 30
Размер:	54.7 Кб
ID:	242725  Нажмите на изображение для увеличения
Название: Image  (3).JPG
Просмотров: 25
Размер:	46.1 Кб
ID:	242726  Нажмите на изображение для увеличения
Название: Image  (4).JPG
Просмотров: 26
Размер:	58.6 Кб
ID:	242727  Нажмите на изображение для увеличения
Название: Image  (5).JPG
Просмотров: 23
Размер:	25.4 Кб
ID:	242728  

Falaleichik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Значение атрибута, задающее угол для параметра вращения в динамическом блоке

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Diesel. Как передать значение атрибута? DANZZ Программирование 2 21.12.2023 14:23
Вставка значения атрибута блока в поле в блоке Prying AutoCAD 28 08.09.2020 17:51
Как присвоить тексту в блоке значение атрибута? Engineer_Sergii AutoCAD 1 14.04.2015 18:48
Проблема при использовании в динамическом блоке атрибута Даниил Динамические блоки 13 31.05.2013 09:16
Динамический блок и значение атрибута _Andre_ Динамические блоки 15 08.12.2006 23:55