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

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

Как изменить длину отрезка.

Ответ
Поиск в этой теме
Непрочитано 09.12.2015, 11:23 #1
Как изменить длину отрезка.
baksconstructor
 
Регистрация: 05.11.2014
Сообщений: 978

Так как автокад не дает через свойства изменить длину существующего отрезка - прошу подсказать, возможно есть лисп или макрос на кнопку :
Щелкнули на линию - появилось сообщение о длине отрезка, и появился запрос ввода длины.
Вводим новую длину (которая нужна).
Отрезок изменяет свою длину с новым значением.
Искал не нашел (общая длине не нужна, отрезок один)
Просмотров: 40168
 
Непрочитано 09.12.2015, 11:25
#2
Кулик Алексей aka kpblc
Moderator

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


_.lengthen
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.12.2015, 11:33
#3
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


щелкнул и появилась длина. Ишь чего...
А если серьезно, зачем, когда есть и растягивание, и продление отрезка (на величину ли, или до каких-то других линий)? Тем более что при изменении длины возможны разные хотелки - справа, слева, в обе стороны симметрично, в обе стороны несимметрично. Лиспик будет нехилый. Наверное (не спец сильно в этом деле)
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 09.12.2015, 11:39
#4
Кулик Алексей aka kpblc
Moderator

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


Bull, я ж показал команду... Чего еще надобно?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.12.2015, 11:39
#5
Gmk17

САПРовод
 
Регистрация: 22.01.2013
Красноярск
Сообщений: 290


Ну или при включенном динамическом вводе (F12), выделить отрезок, подвести курсор к конечной ручке отрезка, появится меню (Растянуть/Увеличить), выбрать Увеличить и TAB'ом поперебирать варианты изменения длины. Там будет общая длина отрезка.

Последний раз редактировалось Gmk17, 09.12.2015 в 12:22.
Gmk17 вне форума  
 
Автор темы   Непрочитано 09.12.2015, 11:53
#6
baksconstructor


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
_.lengthen
Это известно, но нужно щелкать ещё несколько раз, некоторые сотрудники не сразу поймут что именно нужно выбрать в ком строке.

Цитата:
Сообщение от Bull Посмотреть сообщение
щелкнул и появилась длина. Ишь чего...
А если серьезно, зачем, когда есть и растягивание, и продление отрезка (на величину ли, или до каких-то других линий)?
Нет, не то.
Растягивание не нужно.

Пример:
Есть отрезок 12.5763
Нужно сделать его длину = 10

Вот я и хочу - щелкнул по нему, увидел длину 12.5763, вписал 10 и отрезок стал =10. (без выбора в ком строке кучи параметров)
baksconstructor вне форума  
 
Непрочитано 09.12.2015, 12:10
#7
Кулик Алексей aka kpblc
Moderator

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


Отлично. Какую вершину переносить? Или обе? А что делать, если "это" выглядит как отрезок, но является на самом деле 3D-полилиней или сплайном?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 09.12.2015, 12:12
#8
baksconstructor


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Какую вершину переносить?
В свойствах есть Начало, есть Конец, логично былобы конец изменить.
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А что делать, если "это" выглядит как отрезок, но является на самом деле 3D-полилиней или сплайном?
А это уже на совести пользователя.
baksconstructor вне форума  
 
Непрочитано 09.12.2015, 12:13
1 | #9
Gmk17

САПРовод
 
Регистрация: 22.01.2013
Красноярск
Сообщений: 290


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Вот я и хочу - щелкнул по нему, увидел длину 12.5763, вписал 10 и отрезок стал =10. (без выбора в ком строке кучи параметров)
Чем не подходит мой вариант? Именно это я и описал в #5
Gmk17 вне форума  
 
Непрочитано 09.12.2015, 12:15
1 | #10
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Это известно, но нужно щелкать ещё несколько раз, некоторые сотрудники не сразу поймут что именно нужно выбрать в ком строке.
Щелкать несколоко раз не нужно. Давайте посчитаем, щелчек команда (если по иконке) - щелчек по отрезку - правая кнопка с задержкой, выпадает меню - щелчек "всего" - вводим длину - щелчек по той стороне отрезка которую нужно увеличить/удлинить.
Если хочется макрос то
_lengthen;в;/;
Щелкаем иконку - вводим конечную длину отрезка - показываем сторону отрезка.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн
Jonas вне форума  
 
Автор темы   Непрочитано 09.12.2015, 12:20
#11
baksconstructor


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


Цитата:
Сообщение от Jonas Посмотреть сообщение
Если хочется макрос то
_lengthen;в;/;
Практически то что надо, спасибо. Осталось придумать чтобы он вначале показал существующую длину.
baksconstructor вне форума  
 
Непрочитано 09.12.2015, 12:21
#12
Gmk17

САПРовод
 
Регистрация: 22.01.2013
Красноярск
Сообщений: 290


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
В свойствах есть Начало, есть Конец, логично было бы конец изменить.
А если он начерчен "задом-наперёд"? Как это на глаз определить?
Хромает логика...
Gmk17 вне форума  
 
Непрочитано 09.12.2015, 12:24
#13
Gmk17

САПРовод
 
Регистрация: 22.01.2013
Красноярск
Сообщений: 290


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Осталось придумать чтобы он вначале показал существующую длину.
А это что?
И никаких кнопок, командных строк и макросов с лиспами. Только базовый функционал.
Миниатюры
Нажмите на изображение для увеличения
Название: Увеличить.png
Просмотров: 1518
Размер:	4.6 Кб
ID:	161910  

Последний раз редактировалось Gmk17, 09.12.2015 в 12:32.
Gmk17 вне форума  
 
Непрочитано 09.12.2015, 13:36
#14
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Так как автокад не дает через свойства изменить длину существующего отрезка - прошу подсказать, возможно есть лисп или макрос на кнопку
Какой вопрос такой и ответ.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн
Jonas вне форума  
 
Автор темы   Непрочитано 09.12.2015, 14:51
#15
baksconstructor


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


Собственно собрал монстра:
Код:
[Выделить все]
 (defun C:NewДлина (/ obj ent x)
(setq obj (entsel "\Укажите линию: "))
(setq ent (entget (car obj)))
(setq x (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent))))
(alert (strcat "Длина = " (rtos x)))
(command "_LENGTHEN" "_T" "\\" obj "" "\\")
)
Может и криво, но пойдёт. (надо найти как инпутбокс сделать, чтобы вводить новое значение сразу в окошке).
baksconstructor вне форума  
 
Непрочитано 10.12.2015, 04:37
#16
Gmk17

САПРовод
 
Регистрация: 22.01.2013
Красноярск
Сообщений: 290


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Собственно собрал монстра:
Offtop: меняй ник на baksFrankenstein
Gmk17 вне форума  
 
Непрочитано 10.12.2015, 06:51
#17
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Вообще то, команда "_lengthen" выводит длину существующего отрезка, если по нему щелкнуть до указания опции "_Total". Поэтому достаточно вот такого макроса:
Код:
[Выделить все]
^C^C_lengthen;\_t;\@;;
Сначала тыкаем по отрезку, видим его длину и указываем новую длину.
Цитата:
Сообщение от лог комстороки
_lengthen

Select an object or [DElta/Percent/Total/DYnamic]:

Current length: 131.5232
Select an object or [DElta/Percent/Total/DYnamic]: _t

Specify total length or [Angle] <150.0000)>: 130

Select an object to change or [Undo]: @

Select an object to change or [Undo]:
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 10.12.2015, 09:29
#18
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от Krieger Посмотреть сообщение
^C^C_lengthen;\_t;\@;;
Сначала тыкаем по отрезку, видим его длину и указываем новую длину.
А если ^C^C_lengthen;\_t;\\;; то можно указывать сторону изменения.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн
Jonas вне форума  
 
Непрочитано 11.12.2017, 10:13
| 1 #19
мозголом из Самары


 
Регистрация: 17.10.2007
Самара
Сообщений: 1,672


Господа, может кто нибудь знает как сделать такое - укоротить группу отрезков с двух сторон на определенную величину, но центр отрезка должен остаться на месте.
Пример: есть расчетная модель мк здания, перекинул балочную клетку в dwg а далее необходимо отодвинуть все второстепенные балки от главных на 100-150, как можно сделать разом ? а не каждую балку в отдельности менять?
мозголом из Самары вне форума  
 
Непрочитано 11.12.2017, 10:21
#20
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


мозголом из Самары, _lengthen с опцией delta и вводом значения в минус. Правда, "разом" не работает. Вам тогда надо в "программирование" тему создать
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 11.12.2017, 10:25
#21
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,336


мозголом из Самары, использую программу MyBreak , выставляю зазор (gap) для 150 будет 2х150=300, если одновременно с двух сторон укорачивать, и выбираю опцию "Break selected objects with any objects that touch it " или "Break objects touching selected objects"
Вложения
Тип файла: rar BreakObjects21.rar (8.1 Кб, 38 просмотров)
Хмурый вне форума  
 
Непрочитано 11.12.2017, 10:37
#22
мозголом из Самары


 
Регистрация: 17.10.2007
Самара
Сообщений: 1,672


Цитата:
Сообщение от Хмурый Посмотреть сообщение
использую программу MyBreak , выставляю зазор (gap) для 150 будет 2х150=300, если одновременно с двух сторон укорачивать, и выбираю опцию "Break selected objects with any objects that touch it " или "Break objects touching selected objects"
Спасибо, забыл про нее, как раз для создания МКЭ иногда ей пользуюсь.
Хотя не везде работает, если стержень уже разбит, то не укорачивает его.
мозголом из Самары вне форума  
 
Непрочитано 11.12.2017, 10:44
#23
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,336


мозголом из Самары, да, бывает, чудесатит...
Хмурый вне форума  
 
Непрочитано 12.12.2017, 08:39
#24
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


http://forum.dwg.ru/showpost.php?p=1457781&postcount=7
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 19.02.2020, 20:12
#25
modest-bp


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


Цитата:
Сообщение от Gmk17 Посмотреть сообщение
А это что?
И никаких кнопок, командных строк и макросов с лиспами. Только базовый функционал.
Сегодня случилось волшебство: у отрезков автокад перестал показывать именно этот параметр длины (как на скриншоте в процитированном сообщении). Похоже, случайно какую-то системную переменную поменял, но вот какую - понятия не имею (((( Кто-нибудь может подсказать, с чем это может быть связано?
Теперь, зацепив вертекс и нажимая табуляцию могу только перемещать курсор между окошками координат этого вертекса, а вот в значение длины - нет ((( И вообще это значение не пишется при "зацепе" вертекса ((((
Та же история - с наведением курсора на вертекс полилинии. Раньше наводишь на вершину - сразу отображалась длина отрезков, сходящихся в этой вершине. Сейчас - пусто (

Помню, была какая-то переменная (или настройка), отвечающая за тип координат при вводе (полярные, ещё какие-то...). Но вот какая именно - не помню. Подозреваю, что всё дело именно в этом

----- добавлено через ~5 мин. -----
Разрбрался)))
Проблема была в настройках динамического ввода: F4, закладка "dynamic input", пропала галочка у "Enable Dimension Input Where Possible"
Вернул галку на место - всё ок.
modest-bp вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как изменить длину отрезка.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите дополнить макрос простановки уклона MrBrown Программирование 2 14.04.2015 13:50
CIVIL 2014. Как можно изменить длину план и профиля в Листах для печати? ziya2014 Вертикальные решения на базе AutoCAD 8 31.08.2014 11:24
Как сделать, что бы изменения в ячейке изменяли длину отрезка? ronyspb AutoCAD 11 12.04.2013 15:37
как изменить длину 3d объекта? phil123123 AutoCAD 6 31.12.2009 10:53
Изменить длину множества линий одним разом iDemon AutoCAD 12 27.11.2008 14:04