ScriptSpot

Forum topic · General Scripting

Body Objects | 'Viewport Display Settings' for multiple objects selected

By NIWO · 2015-09-10

Description

Hello,

i'm interessted in manipulating "Body Objects | 'Viewport Display Settings' for multiple objects selected"
Does anyone already have a workflow or script to share?

Gehostet von directupload.net

Nikolaj

Comments (2)

Body object tesselator

henrikmoren · 2015-12-02

Try this!

rollout bodyObjectTesselator "Body object tesselator" width:264 height:350
(

radioButtons rdoDispOp "Display options" pos:[10,10] width:291 height:30 labels:#("Mesh","Curves","Both") default:3 columns:3
groupBox grpMQP "Mesh Quality Presets" pos:[10,60] width:243 height:75

button btnCoarse "Coarse" pos:[20,85] width:69 height:16
button btnMedium "Medium" pos:[97,85] width:69 height:16
button btnFine "Fine" pos:[173,85] width:69 height:16
button btnSuperFine "Super Fine" pos:[20,110] width:69 height:16
button btnUltraFine "Ultra Fine" pos:[97,110] width:69 height:16
button btnExtremeFine "XF" pos:[173,109] width:69 height:16

groupBox grpMS "Manual settings" pos:[10,146] width:243 height:135
spinner spnFAA "Face Approx Angle:" pos:[30,170] width:201 height:16
spinner spnEAA "Edge Approx Angle:" pos:[30,190] width:201 height:16 range:[0,100,0]
spinner spnFD "Face Distance %:" pos:[30,210] width:201 height:16 range:[0,100,0]
spinner spnED "Edge Distance %:" pos:[30,230] width:201 height:16 range:[0,100,0]
spinner spnMEL "Max Edge Len. %:" pos:[30,250] width:201 height:16 range:[0,100,0]
button btnApply "Apply Settings" pos:[10,288] width:243 height:35

on btnCoarse pressed do
(
spnFAA.value = 30
spnEAA.value = 0
spnFD.value = 1
spnED.value = 0
spnMEL.value = 0
)

on btnMedium pressed do
(
spnFAA.value = 15
spnEAA.value = 0
spnFD.value = 0.1
spnED.value = 0
spnMEL.value = 0
)

on btnFine pressed do
(
spnFAA.value = 10
spnEAA.value = 0
spnFD.value = 0.02
spnED.value = 0
spnMEL.value = 0
)

on btnSuperFine pressed do
(
spnFAA.value = 10
spnEAA.value = 10
spnFD.value = 0.015
spnED.value = 30
spnMEL.value = 30
)

on btnUltraFine pressed do
(
spnFAA.value = 5
spnEAA.value = 5
spnFD.value = 0.01
spnED.value = 10
spnMEL.value = 10
)

on btnExtremeFine pressed do
(
spnFAA.value = 3
spnEAA.value = 3
spnFD.value = 0.005
spnED.value = 5
spnMEL.value = 5
)

on btnApply pressed do
(
if $ != undefined then
(
--for i in geometry where classof i == Editable_Poly do
for i = 1 to selection.count do
(

for j in selection where classof j != body_object do
(
deselect j
)

)
for k = 1 to selection.count do
(

selection[k].FaceApproxAngleVDS = spnFAA.value
selection[k].EdgeApproxAngleVDS = spnEAA.value
selection[k].FaceChordHeightVDS = spnFD.value
selection[k].EdgeChordHeightVDS = spnED.value
selection[k].MaxEdgeLengthPctVDS = spnMEL.value
--selection[k].DisplayRadioVDS = 1
selection[k].DisplayRadioVDS = rdoDispOp.state
redrawViews()

)
)
)
)

createdialog bodyObjectTesselator