Размерные линии |
Home· Статьи · Вакансии · Чертежи · 3D Галерея · 2D Галерея · Форум · Форум Realtime | Реклама |  Конкурсы | RAR Award | Правила |
Здравствуйте, гость ( Вход | Регистрация )
Размерные линии |
29/07/2017, 13:17
Сообщение
#1
|
|
Уже не новичок Группа: Пользователи Сообщений: 16 Регистрация: 25/07/2017 Пользователь №: 136 268 |
Здравствуйте! Столкнулся с проблемой размерных линий, точнее с их отсутствием в 3д максе. Попытался сделать свои. Файл прикрепил. Не смогу поставить пивот на линию, пока выбрана определенная линия(и переместив пивот в центр ее) все нормально, но как переключаюсь а другой обьект, то пивот линии, которую выбирал вначале улетает.
посмотрите пожалуйста файл! Сообщение отредактировал SvetRa - 29/07/2017, 13:19
Прикрепленные изображения
Прикрепленные файлы
|
|
|
29/07/2017, 13:27
Сообщение
#2
|
|
Уже не новичок Группа: Пользователи Сообщений: 16 Регистрация: 25/07/2017 Пользователь №: 136 268 |
Пробовал привязать текст, но не получается, не хватает знаний. Помогите пожалуйста!
Прикрепленные изображения
|
|
|
29/07/2017, 19:48
Сообщение
#3
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
Для измерений есть инструмент tape. Оба конца можно прилинковать к объектам
Правда без скрипта смотреть размеры неудобно. Сообщение отредактировал Jahman - 29/07/2017, 19:50
Прикрепленные изображения
|
|
|
29/07/2017, 22:32
Сообщение
#4
|
|
Уже не новичок Группа: Пользователи Сообщений: 16 Регистрация: 25/07/2017 Пользователь №: 136 268 |
|
|
|
29/07/2017, 22:37
Сообщение
#5
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
|
|
|
29/07/2017, 22:47
Сообщение
#6
|
|
Давно уже Группа: Координатор Сообщений: 9 675 Регистрация: 24/06/2002 Из: Зеленоград Пользователь №: 158 |
древний, но вдруг рабочий? |
|
|
29/07/2017, 23:08
Сообщение
#7
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
для статичных размеров могу такое предложить
CODE tool clickDist
( fn dist p1 p2 = ( vec = normalize (p2-p1) perp = normalize (cross vec [0,0,1]) shp = splineShape wirecolor:yellow addnewspline shp addKnot shp 1 #corner #line p1 addKnot shp 1 #corner #line (p1-perp*20) addnewspline shp addKnot shp 2 #corner #line p2 addKnot shp 2 #corner #line (p2-perp*20) addnewspline shp addKnot shp 3 #corner #line (p1 - perp*10) addKnot shp 3 #corner #line (p2 - perp*10) -- arrows addnewspline shp addKnot shp 4 #corner #line (p1 - perp*10 + perp*1 + vec*2) addKnot shp 4 #corner #line (p1 - perp*10) addKnot shp 4 #corner #line (p1 - perp*10 - perp*1 + vec*2) addnewspline shp addKnot shp 5 #corner #line (p2 - perp*10 + perp*1 - vec*2) addKnot shp 5 #corner #line (p2 - perp*10) addKnot shp 5 #corner #line (p2 - perp*10 - perp*1 - vec*2) updateshape shp t = text text:(units.formatValue(distance p1 p2)) size:10 wirecolor:yellow pos:(-perp*12 + (p1+p2)/2.0) t.dir = perp in coordsys local rotate t (angleaxis -90 [1,0,0]) convertTo t splineshape addandweld shp t 0.0001 shp.pivot = p1 ) local p1 local p2 local curSnapMode local curSnapType local rubberMode on start do ( curSnapMode = snapMode.active curSnapType = snapMode.type snapMode.active = true snapMode.type = #3D ) on mouseAbort arg do ( snapMode.active = curSnapMode try(snapMode.type = curSnapType)catch() ) on stop do ( snapMode.active = curSnapMode try(snapMode.type = curSnapType)catch() ) on mousemove clickno do ( redrawViews() ) on mousePoint clickno do ( case clickno of ( (1): p1 = worldPoint (2): p2 = worldPoint default:() ) if clickno == 3 do ( p2 = worldPoint dist p1 p2 #stop ) ) ) startTool clickDist Сообщение отредактировал Jahman - 29/07/2017, 23:12 |
|
|
30/07/2017, 11:24
Сообщение
#8
|
|
Уже не новичок Группа: Пользователи Сообщений: 16 Регистрация: 25/07/2017 Пользователь №: 136 268 |
Огромная благодарность! То, что надо. В принципе, разберусь и под нужды добавлю что нибудь. Можно же создать скрипт на обновление всех размеров? Концы размеров привязать к точкам обьекта, при расширении, и нажатии на кнопку обновить, чтобы он проверял у всех обьектов с таких то именем, к примеру размеры, расстояние между точками и обновлял текст. Хотя текст как понял тут тоже сплайн.
|
|
|
30/07/2017, 11:32
Сообщение
#9
|
|
Уже не новичок Группа: Пользователи Сообщений: 16 Регистрация: 25/07/2017 Пользователь №: 136 268 |
для статичных размеров могу такое предложить Благодарю, что дал почву для размышлений! Если убрать где конвертируется в сплайн, то как раз получается просто текст. Кстати, я чуть-чуть замахнулся, ведь, при изменении точек, привязка не работает, только если так же скриптом делать отслеживание точек, такое можно? Сообщение отредактировал SvetRa - 30/07/2017, 11:38 |
|
|
30/07/2017, 11:46
Сообщение
#10
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
я вчера пробовал интерактив сделать, правда там столько еще подводных камней и мест где можно дров наломать
Прикрепленные изображения
|
|
|
30/07/2017, 12:07
Сообщение
#11
|
|
уже всё сделал Группа: Пользователи Сообщений: 2 456 Регистрация: 01/06/2005 Из: z3л3№гр@d Пользователь №: 13 838 |
пример того как показать размеры для выделенного сегмента
CODE try (unregisterRedrawViewsCallback displaySegmentsLength.GW_displaySegmentsLength)catch()
try (destroydialog displaySegmentsLength ) catch () rollout displaySegmentsLength "" ( CheckButton showseglen "show segment lengths" fn GW_displaySegmentsLength = ( if superclassof selection[1] == shape and classof selection[1] == splineshape do ( gw.setTransform (matrix3 1) obj = selection[1] splinesCount = numSplines obj if splinesCount == undefined or splinesCount == 0 do return -1 midpoints = #() for i=1 to splinesCount do ( segLengths = getSegLengths obj i segmentsCount = numSegments obj i for s=1 to segmentsCount do ( if findItem (getSegSelection obj i) s > 0 do ( -- show lengths for selected segments only append midpoints #((interpBezier3D obj i s 0.5 pathParam:false),segLengths[s+segmentsCount]) ) ) ) for m in midpoints do ( gw.text m[1] (units.formatValue m[2]) color:yellow ) ) ) on showseglen changed state do ( if state then ( unregisterRedrawViewsCallback GW_displaySegmentsLength registerRedrawViewsCallback GW_displaySegmentsLength ) else ( unregisterRedrawViewsCallback GW_displaySegmentsLength ) ) on displaySegmentsLength close do unregisterRedrawViewsCallback GW_displaySegmentsLength ) createDialog displaySegmentsLength pos:[100,200] |
|
|
30/07/2017, 20:28
Сообщение
#12
|
|
Уже не новичок Группа: Пользователи Сообщений: 16 Регистрация: 25/07/2017 Пользователь №: 136 268 |
Благодарю вас! Вы очень помогаете людям! Желаю, чтобы в жизни , если надо, вам всегда помогали!
Сообщение отредактировал SvetRa - 30/07/2017, 20:29 |
|
|
Bots |
Системное сообщение
|
|
|
|
|
Текстовая версия | Сейчас: 18/04/2024 - 09:02 |