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

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

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

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

Здравуствуйте! Помогите, пожалуйста!
Есть динамический блок, в котором необходимо узнать и вывести длину некоторых линий в сумме(линии+дуги). Например, вставляю в чертеж блок, в свойствах задаю необходимые размеры. Мне нужно знать длину общую отрезков+дуг. Конечно же, при изменении размеров, длина должна динамически меняться.
В программировании не силен. Хотелось бы сделать все средствами Автокада.
Спасибо!
Просмотров: 18373
 
Непрочитано 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 Кб, 1107 просмотров)
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 Кб, 1203 просмотров)
__________________
Лучше не обещать, чем обещать и не исполнять.
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 Кб, 949 просмотров)
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 Кб, 987 просмотров)
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,091


Цитата:
Сообщение от 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,326


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

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


Так вроде в свойствах и показывается - расстояние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 на форуме  
Ответ
Вернуться   Форум 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