Viete mi niekto povedať akú verziu V-ray pre rhino mám použiť pre Rhino 6 ver. 6.1??
Čo som našiel V-ry tak všetky začínali od verzie Rhina 6.34
Vopred díky
Moderator: iconmaster
Code: Select all
import Rhino
import rhinoscriptsyntax as rs
def Q_mirror_text(mirror_copy):
to_mirror = rs.GetObjects(
"Select objects to mirror", select=True, preselect=True
) # ak su vybrane objekty rob s nimi, ak nie tak ich vyber
if to_mirror is None: # ak si nevybral tak vyber
return
copyOpt = Rhino.Input.Custom.OptionToggle(
True, "No", "Yes"
) # chcem zrkadlit kopiu / povodny zmazat
mirrorOpt = Rhino.Input.Custom.OptionToggle(
mirror_copy, "No", "Yes"
) # zrkadlit/nezrkadlit text
# moznosti do command line (to co sa mi zobrazi v riadku), nastavenia vyssie (copyOpt, mirrorOpt)
def set_options():
gp.ClearCommandOptions()
gp.SetCommandPrompt("Point on vertical plane")
gp.AddOptionToggle("Copy", copyOpt)
gp.AddOptionToggle("TextJustificationLeft", mirrorOpt)
gp = Rhino.Input.Custom.GetPoint()
set_options() # zavolam funkciu definovanu cca 5 riadkov vyssie v def set_options()
while True:
get_rc = gp.Get()
if gp.CommandResult() != Rhino.Commands.Result.Success:
return gp.CommandResult()
if (
get_rc == Rhino.Input.GetResult.Point
): # klikol som, a vybral som bod zrkadlenia
suradnice1 = gp.Point() # zistim si suradnice bodu
if suradnice1 is None: # ak nie su suradnice, tak skonci
return Rhino.Commands.Result.Cancel
break
suradnice2 = [
suradnice1[0],
suradnice1[1] + 10.0,
0,
] # vertikalna linia urcena bodom + 10.0 dohora
if to_mirror:
mirrored = rs.MirrorObjects(
to_mirror, suradnice1, suradnice2, copyOpt.CurrentValue
) # ak mam co zrkadlit tak vyzrkadlim to_mirror do mirrored
if mirrored is None:
return Rhino.Commands.Result.Cancel
for obj in mirrored:
if not rs.IsText(obj):
continue
BBox = rs.BoundingBox(obj) # vytvorim BoundingBox (ramcek okolo textu)
objText = rs.TextObjectText(obj)
objfont = rs.TextObjectFont(obj)
objfontheight = rs.TextObjectHeight(obj)
objlayer = rs.ObjectLayer(
obj
) # nacitam hodnoty zrkadlenych textovych objektov
text = rs.AddText(
objText,
BBox[0] if mirrorOpt.CurrentValue else BBox[1],
objfontheight,
objfont,
0,
0 if mirrorOpt.CurrentValue else 4,
) # pridam novy text so zrkadlenou(4)/nezrkadlenou(0) justifiacation
rs.ObjectLayer(text, objlayer)
rs.DeleteObject(obj) # zmazem povodny vyzrkadleny text
rs.UnselectAllObjects() # odznacim vsetky objekty (ak som nekopiroval)
if copyOpt.CurrentValue == True:
rs.SelectObjects(to_mirror) # odznacim vytvorene objekty
return Rhino.Commands.Result.Success
if __name__ == "__main__":
Q_mirror_text(True)Users browsing this forum: No registered users and 1 guest