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

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

Длина линий в динамическом блоке

Ответ
Поиск в этой теме
Непрочитано 29.12.2015, 13:05 #1
Длина линий в динамическом блоке
Yaryk777
 
Регистрация: 08.12.2015
Сообщений: 38

Здравуствуйте! Помогите, пожалуйста!
Есть динамический блок, в котором необходимо узнать и вывести длину некоторых линий в сумме(линии+дуги). Например, вставляю в чертеж блок, в свойствах задаю необходимые размеры. Мне нужно знать длину общую отрезков+дуг. Конечно же, при изменении размеров, длина должна динамически меняться.
В программировании не силен. Хотелось бы сделать все средствами Автокада.
Спасибо!
Просмотров: 18429
 
Непрочитано 29.12.2015, 13:35
1 | #2
LynxM


 
Регистрация: 17.08.2010
Kyiv
Сообщений: 688
<phrase 1= Отправить сообщение для LynxM с помощью Skype™


Цитата:
Сообщение от Yaryk777 Посмотреть сообщение
Есть динамический блок, в котором необходимо узнать и вывести длину некоторых линий в сумме(линии+дуги).
Приложите сам блок, можно будет сделать с помощью атрибута с формулой.
__________________
Лучше не обещать, чем обещать и не исполнять.
LynxM вне форума  
 
Автор темы   Непрочитано 29.12.2015, 13:51
#3
Yaryk777


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


Цитата:
Сообщение от LynxM Посмотреть сообщение
Приложите сам блок, можно будет сделать с помощью атрибута с формулой.
Ниже пример. Необходимо получить длину по периметру(состоит из 4 линий и 4 дуг). Преобразовать в полилинию нельзя(так как есть сложние блоки с кучей зависимостей и построений).
Вложения
Тип файла: dwg
DWG 2013
блок.dwg (45.6 Кб, 1109 просмотров)
Yaryk777 вне форума  
 
Непрочитано 29.12.2015, 14:04
1 | #4
LynxM


 
Регистрация: 17.08.2010
Kyiv
Сообщений: 688
<phrase 1= Отправить сообщение для LynxM с помощью Skype™


Длина указана в миллиметрах, точность измерения 0,00.
Для обновления размера (атрибута): Вид - Регенерировать все или команда _REGEN
Вложения
Тип файла: dwg
DWG 2007
блок_2.dwg (114.4 Кб, 1208 просмотров)
__________________
Лучше не обещать, чем обещать и не исполнять.
LynxM вне форума  
 
Автор темы   Непрочитано 29.12.2015, 14:32
#5
Yaryk777


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


Цитата:
Сообщение от LynxM Посмотреть сообщение
Длина указана в миллиметрах, точность измерения 0,00.
Для обновления размера (атрибута): Вид - Регенерировать все или команда _REGEN
Спасибо большое, но это не совсем то(но все же буду признателен за разьяснение как Вы сделали такой атрибут)
Мне нужно значение длины знать как информационное(для контроля). То есть, в чертеже его видно не должно быть. Как пример, посмотреть его в свойствах блока(то есть, присвоить значение длины пользовательской переменной(напр. user1))
Спасибо за помощь!
p.s. пробовал присвоить переменной user1 в выражении атрибут length, не получается

Последний раз редактировалось Yaryk777, 29.12.2015 в 14:38.
Yaryk777 вне форума  
 
Непрочитано 29.12.2015, 14:36
#6
max4airkin


 
Регистрация: 26.03.2015
Екатеринбург
Сообщений: 382


Цитата:
Сообщение от Yaryk777 Посмотреть сообщение
Преобразовать в полилинию нельзя
Раз уж используете параметризацию, можете вычертить копию контура полилинией и сделать её геометрией построения, прицепить её зависимостями к рабочей геометрии и навесить поле с значением длины.
Конкретно для этого блока не вижу причин не сделать контур замкнутой полилинией: акад воспримет её для параметризации, как набор дуг и отрезков.
Вложения
Тип файла: dwg
DWG 2013
блок (1).dwg (55.8 Кб, 950 просмотров)
max4airkin вне форума  
 
Автор темы   Непрочитано 29.12.2015, 14:46
#7
Yaryk777


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


Цитата:
Сообщение от max4airkin Посмотреть сообщение
Раз уж используете параметризацию, можете вычертить копию контура полилинией и сделать её геометрией построения, прицепить её зависимостями к рабочей геометрии и навесить поле с значением длины.
Конкретно для этого блока не вижу причин не сделать контур замкнутой полилинией: акад воспримет её для параметризации, как набор дуг и отрезков.
Думал над тем, чтобы обвести контур полилинией, но на него также нужно нанести размерные зависимости и привязать к существующим(которых в других блоках побольше). В итоге очень большое количество зависимостей, а также нечитаемый чертеж+ сложность изменения.
На счет преобразования в полилинию: в этом блоке - согласен, но это пример, и я подчеркнул, что есть сложные блоки(куча зависимостей, порядок построения, вспомагательная геометрия). То есть, итоговый обьект получается с частей исходного+новые части, которые в формульных зависимостях.

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от max4airkin Посмотреть сообщение
навесить поле с значением длины
вот это не понял, что имеется ввиду?

Последний раз редактировалось Yaryk777, 29.12.2015 в 14:55.
Yaryk777 вне форума  
 
Непрочитано 29.12.2015, 14:55
1 | #8
max4airkin


 
Регистрация: 26.03.2015
Екатеринбург
Сообщений: 382


Вот переделанный блок, раз уж нужен скрытый атрибут. Меняете размеры, потом регенерируете чертеж и смотрите в свойствах значение Периметр.
Что такое Поле? Это текстовый фрагмент, привязанный к определенным свойствам.
Как сделать сумму полей, как в файле LynxM: при задании атрибута в текстовом окошке нажимаете Ctrl+F и выбираете Формула. В поле для формулы снова жмете Ctrl+F, выбираете объект (отрезок 1) и для него выбираете свойство Длина, потом через сложение делаете то же самое для остальных примитивов в блоке.
Вложения
Тип файла: dwg
DWG 2013
блок 1 upd.dwg (71.7 Кб, 988 просмотров)
max4airkin вне форума  
 
Непрочитано 29.12.2015, 14:56
1 | #9
LynxM


 
Регистрация: 17.08.2010
Kyiv
Сообщений: 688
<phrase 1= Отправить сообщение для LynxM с помощью Skype™


Цитата:
Сообщение от Yaryk777 Посмотреть сообщение
его видно не должно быть
Сделайте атрибут скрытым.
__________________
Лучше не обещать, чем обещать и не исполнять.
LynxM вне форума  
 
Автор темы   Непрочитано 29.12.2015, 15:02
#10
Yaryk777


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


Цитата:
Сообщение от max4airkin Посмотреть сообщение
max4airkin
Спасибо это похоже то что мне нужно. Буду пробовать.
А зачем Вы начертили круг и зафиксировали его в начале координат?
Yaryk777 вне форума  
 
Непрочитано 29.12.2015, 16:48
1 | #11
max4airkin


 
Регистрация: 26.03.2015
Екатеринбург
Сообщений: 382


Чтобы остальную геометрию привязать к нулевой точке. А то расползется... можно было бы и середину нижнего отрезка привязать.
max4airkin вне форума  
 
Автор темы   Непрочитано 29.12.2015, 17:27
#12
Yaryk777


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


Еще вопрос:
1.можно ли запретить изменение формулы для атрибута при двойном щелчке по блоку? Пробовал ставить параметр "постоянный" со значением "да" для атрибута, но тогда атрибут пропадает с окна свойств
2.Усложнаем задачу: можно ли подсчитать длину всех линий на определенном слое?
Спасибо!

Последний раз редактировалось Yaryk777, 29.12.2015 в 17:57.
Yaryk777 вне форума  
 
Непрочитано 29.12.2015, 18:43
#13
max4airkin


 
Регистрация: 26.03.2015
Екатеринбург
Сообщений: 382


Что-то подумалось...
А обязательно использовать динамический блок? Параметризация так же работает и в модели. Так же можно задавать пользовательские параметры. Можно отображать параметрические размеры, как аннотационные, т.е. выводить их на чертеж. Можно где-то рядом вставить табличку, в которую полями свести длины всех интересующих элементов и суммировать их.
Для подсчета длин линий на слое есть лиспы, надо только поискать. На худой конец всегда можно посчитать геометрию через математику: в файле примера длина контура равна длине окружности радиуса скругления плюс удвоенные длины сторон минус четыре радиуса скругления...но это пример простой.
PS: В редакторе правда есть одна удобная кнопка Constraint status, которая раскрашивает геометрию разными цветами (определенная/неопределенная), как в Solidworks...только цвета неудачно подобраны.
max4airkin вне форума  
 
Автор темы   Непрочитано 29.12.2015, 18:51
#14
Yaryk777


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


Цитата:
Сообщение от max4airkin Посмотреть сообщение
Что-то подумалось...
динамический блок используется так как он закреплен на инструментальной палитре и нужен как шаблон для вставки в другие чертежи

...только цвета неудачно подобраны. , - согласен
Yaryk777 вне форума  
 
Непрочитано 19.01.2016, 22:54
#15
Xo3.ToBapbl


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


Не хочу создавать тему, подниму вопрос в наиболее близкой:

Есть ли какая-то возможность средствами автокада вытянуть свойство примитива, находящегося в блоке и добавить его в свойства блока с возможностью редактирования?

(например есть блок с полилинией, возможно ли свойство полилинии "глобальная ширина" вытянуть в свойства блока и в дальнейшем уже редактировать этот параметр через свойства блока? для отслеживания "глобальной ширины" на примерах выше понял как это сделать атрибутом, а возможно ли именно редактирование?)
Xo3.ToBapbl вне форума  
 
Непрочитано 20.01.2016, 11:48
#16
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Цитата:
Сообщение от Xo3.ToBapbl Посмотреть сообщение
Есть ли какая-то возможность средствами автокада вытянуть свойство примитива, находящегося в блоке и добавить его в свойства блока с возможностью редактирования?
Возможность напрямую менять из панели свойств какие-либо свойства отдельно взятого подпримитива, такие как ширина полилинии - отсутствует (по крайней мере до 2013 версии включительно). Однако значения всех динамических параметров автоматически добавляются в свойства блока, и если какое-то свойство подпримитива задается динамическим параметром блока (например, длина линии - параметром растягивания), то его вполне можно менять из панели свойств.

Последний раз редактировалось kp+, 20.01.2016 в 11:53.
kp+ вне форума  
 
Непрочитано 13.05.2021, 10:53 Отображение длины дин. блока после применения операции Растягивание
#17
n0str0m0

геолог
 
Регистрация: 02.09.2009
Тында, Дальний Восток
Сообщений: 404
<phrase 1=


Создал дин. блок, в котором всего две операции - растягивание и поворот. Вроде всё работает, но... Мне бы хотелось, чтобы в свойствах можно было посмотреть длину блока после операции растягивания. И никак, кроме как наложить на блок полилинию или применив операцию измерения в утилитах. А хотелось, чтобы длина блока отображалась бы в панели свойств и/или при наведении на какую-нибудь точку блока в модели. Подскажите, что нужно сделать с блоком?
Вложения
Тип файла: dwg
DWG 2010
Блок1.dwg (593.6 Кб, 31 просмотров)

Последний раз редактировалось n0str0m0, 13.05.2021 в 11:00. Причина: Не там создал
n0str0m0 вне форума  
 
Непрочитано 13.05.2021, 11:43
#18
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,327


n0str0m0, А если так
Вложения
Тип файла: dwg
DWG 2010
Блок1.dwg (584.8 Кб, 55 просмотров)
AlexCondor вне форума  
 
Непрочитано 13.05.2021, 11:46
#19
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


Так вроде в свойствах и показывается - расстояние1, расстояние 2, угол1.

----- добавлено через ~1 мин. -----
Offtop: После нормальной полноценной очистки файл упал до 96 кб...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.05.2021, 12:02
#20
n0str0m0

геолог
 
Регистрация: 02.09.2009
Тында, Дальний Восток
Сообщений: 404
<phrase 1=


del

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Так вроде в свойствах и показывается - расстояние1, расстояние 2, угол1.

----- добавлено через ~1 мин. -----
Offtop: После нормальной полноценной очистки файл упал до 96 кб...
Это если потянуть только за один край. Если потянуть за оба, то длины наложатся друг на друга и длина блока уже будет неверной

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от AlexCondor Посмотреть сообщение
n0str0m0, А если так
А так работает. Только я не понял, как вы это сделали. Кроме того, параметр поворота не растягивается вместе с правым параметром растяжения.

Последний раз редактировалось n0str0m0, 13.05.2021 в 12:08.
n0str0m0 вне форума  
 
Непрочитано 13.05.2021, 12:50
1 | #21
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,327


n0str0m0, Если нужно тянуть параметр поворота, тогда немного не так. Там две операции растяжения, к одному параметру. В первом случае и у одной линии. В данном случае линий 2, от общей базы, иначе при повороте базовая точка улетает.
Вложения
Тип файла: dwg
DWG 2010
Блок1.dwg (585.0 Кб, 39 просмотров)

Последний раз редактировалось AlexCondor, 13.05.2021 в 12:57.
AlexCondor вне форума  
 
Непрочитано 14.05.2021, 02:55
#22
n0str0m0

геолог
 
Регистрация: 02.09.2009
Тында, Дальний Восток
Сообщений: 404
<phrase 1=


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
n0str0m0, Если нужно тянуть параметр поворота, тогда немного не так. Там две операции растяжения, к одному параметру. В первом случае и у одной линии. В данном случае линий 2, от общей базы, иначе при повороте базовая точка улетает.
Спасибо, всё прекрасно работает. Но есть два вопроса:
1. Почему в моем изначальном примере неправильно работала длина блока?
2. Почему-то при переносе Вашего блока на мой чертеж, где был блок с этим же именем, но мой, который неправильно работал, в этом случае и Ваш блок опять становится изначальным моим, то есть опять всё работает неправильно. Помогает только переименовывание Вашего блока.
n0str0m0 вне форума  
 
Непрочитано 14.05.2021, 07:13
#23
Зодчий1989


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


Цитата:
Сообщение от n0str0m0 Посмотреть сообщение
Почему-то при переносе Вашего блока на мой чертеж, где был блок с этим же именем, но мой, который неправильно работал, в этом случае и Ваш блок опять становится изначальным моим, то есть опять всё работает неправильно. Помогает только переименовывание Вашего блока.
См. переопределение блоков. ctrl+2 вставка с переопределением.
__________________
Не ошибается только тот, кто ничего не делает.
Зодчий1989 вне форума  
 
Непрочитано 14.05.2021, 09:42
#24
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,327


Цитата:
Сообщение от n0str0m0 Посмотреть сообщение
Почему в моем изначальном примере неправильно работала длина блока?
Так она там вообще не работает. Да, вы установили параметр на общую длину, но совсем не задали как ему работать, не задали ни одной операции (вопросики у параметра видели).
AlexCondor вне форума  
 
Непрочитано 17.05.2021, 03:07
#25
n0str0m0

геолог
 
Регистрация: 02.09.2009
Тында, Дальний Восток
Сообщений: 404
<phrase 1=


Еще такой вопрос: добавил в блок атрибут, всё прекрасно работает, но иногда мне нужно этот атрибут переставить в другое место. Если я делаю атрибут нефиксированным, но контролируемым, то этот атрибут перестает участвовать в операции поворота и растяжения. Перепробовал всякие варианты - не получается и растягивать/поворачивать и контролировать одновременно.
Вложения
Тип файла: dwg
DWG 2010
Блок3.dwg (582.7 Кб, 20 просмотров)
n0str0m0 вне форума  
 
Непрочитано 17.05.2021, 06:43
#26
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Сейчас нет возможности посмотреть dwg, но попробуйте прицепить к атрибуту операцию перемещения и параметр точки.
kp+ вне форума  
 
Непрочитано 17.05.2021, 09:43
#27
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,327


Цитата:
Сообщение от kp+ Посмотреть сообщение
но попробуйте прицепить к атрибуту операцию перемещения и параметр точки.
Наверное наоборот, прицепить к точке операцию перемещения атрибута.
Вложения
Тип файла: dwg
DWG 2010
Блок3n.dwg (587.6 Кб, 22 просмотров)
AlexCondor вне форума  
 
Непрочитано 17.05.2021, 10:18
#28
n0str0m0

геолог
 
Регистрация: 02.09.2009
Тында, Дальний Восток
Сообщений: 404
<phrase 1=


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Наверное наоборот, прицепить к точке операцию перемещения атрибута.
Да, спасибо большое, то, что нужно. А подскажите, пожалуйста, что нужно изменить в свойствах атрибута, чтобы направление текста тоже поворачивалось вместе со всем блоком?
Уж извиняюсь за примитивные вопросы, но блоки только начал осваивать.
n0str0m0 вне форума  
 
Непрочитано 17.05.2021, 12:10
#29
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,577


oops
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Непрочитано 17.05.2021, 12:10
#30
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,327


Я думаю легче тогда повернуть весь блок, и тогда просто передвинуть аттрибут.
AlexCondor вне форума  
 
Непрочитано 17.05.2021, 14:43
#31
n0str0m0

геолог
 
Регистрация: 02.09.2009
Тында, Дальний Восток
Сообщений: 404
<phrase 1=


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Я думаю легче тогда повернуть весь блок, и тогда просто передвинуть аттрибут.
Так я про то и говорю. Но, в правленом Вами блоке атрибут поворачивается и растягивается, но не меняет направление текста. В моем блоке поворачивается и растягивается и меняет направление текста, согласно повороту, но в моем блоке я не могу поменять положение атрибута. Вот я и хотел узнать, какой параметр атрибута отвечает за поворот направления текста. Я помню, что где-то я такое видел, но не помню, где (точно в автокаде)
n0str0m0 вне форума  
 
Непрочитано 17.05.2021, 16:39
#32
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,327


Цитата:
Сообщение от n0str0m0 Посмотреть сообщение
Я помню, что где-то я такое видел, но не помню, где
Я не уверен, но насколько я помню, любую операцию в динамическом блоке можно применить только к заблокированному атрибуту. В новых версиях может что-то уже изменилось, но раньше было именно так. Если вы хотите изменить угол вращения атрибута воспользуйтесь командой _eattedit. Там в свойствах можно установить любой угол.
AlexCondor вне форума  
 
Непрочитано 18.05.2021, 09:21
#33
n0str0m0

геолог
 
Регистрация: 02.09.2009
Тында, Дальний Восток
Сообщений: 404
<phrase 1=


Помучился, но вроде сделал так, как мне нужно было.
Видимо, мы друг друга не поняли по поводу поворота атрибута
Вложения
Тип файла: dwg
DWG 2010
Блок4.dwg (590.0 Кб, 40 просмотров)
n0str0m0 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Длина линий в динамическом блоке

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание нового типа линий Apelsinov AutoCAD 915 08.07.2022 12:36
Почему не работает операция "Совпадение" в динамическом блоке Geniy_Dzydo Динамические блоки 5 14.08.2012 20:32
Длина линий всего слоя Hendrix Программирование 16 24.07.2006 10:23
Общая длина ломаных линий.....? ed_moroz AutoCAD 3 18.02.2006 01:15
Общая длина ломаных линий.....? ed_moroz AutoCAD 2 17.02.2006 10:40