Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by heikolistische

  1. This one, used while in Annotations, uses the selexted Datatag and jumps to the tagged Object in yours Model and select it. import vs; objs = [] def Name(h): hLayerObj = vs.GetLayer(h) hLayerAct = vs.ActLayer() vs.AlrtDialog(vs.GetName(h)) hAss, iAssKind, iAssVal = vs.GetAssociation(h, 0) if hAss != 0: objs.append(hAss) vs.ForEachObject(Name, "((INSYMBOL & INOBJECT & INVIEWPORT & (VSEL=TRUE)))") if len(objs) == 1: hLayObjs1 = vs.GetLayer(objs[0]) vs.DoMenuTextByName('Group Navigation Chunk', 2) #Verlasse Ergänzungen vs.Layer(vs.GetLName(hLayObjs1)) #Wechsel Ebene vs.SetPref(94, True) #Aktuivere Modellansicht vs.SetPref(14, True) #Zeige Objekte auerhalb Gruppe vs.DSelectAll() for x in objs: hParObj = vs.GetParent(x) iTypParObj = vs.GetTypeN(hParObj) if iTypParObj == 11: vs.SetSelect(hParObj) vs.DoMenuTextByName('Group Navigation Chunk', 1) if iTypParObj == 15: vs.SetSelect(hParObj) vs.DoMenuTextByName('Group Navigation Chunk', 1) vs.SetSelect(x) vs.DoMenuTextByName ('Fit To Objects', 0) Hope this one is helpful. Have fun, Heiko Jakob
  2. PUSH Or importing symbols per double click instead of drag and drop
  3. Hi Peter try this one attached. Called node "Mat select" in resource manager Geëxporteerd bestand Marionette extended.vwx
  4. HI, is this still the case or is it possible in the meanwhile?
  5. Could it be this is fixed ? Seems to work for me
  6. Hi, i think i got a solution. I modified the "Symbol From Folder" Script by @Antonio Landsberger to work with Materials. In my case now Materials keep the same even new ones get imported. Does it work for everyone else too ? File is attached🙂 @Marionette.NodeDefinition class Params(metaclass = Marionette.OrderedClass): #APPEARANCE #Name this = Marionette.Node( 'Materialauswahl' ) this.SetDescription( "Returns the name of a symbol chosen via selection dialog with previews of the symbols in the current document. If a folder name is given, only its content is shown." ) #OIP Controls # Holds the selected symbol name SymbolName = Marionette.OIPControl( 'Material', Marionette.WidgetType.TextStaticParam, '<None>') SymbolName.SetDescription( "Shows a dialog, where a symbold can be selected." ) Int = Marionette.OIPControl( 'Material ändern', Marionette.WidgetType.Button, 'script1', 'description') Int.SetDescription( "Shows symbol selection dialog" ) #Output Ports out = Marionette.PortOut( 'sMat' ) out.SetDescription( "Name of the chosen symbol" ) #BEHAVIOR #END class def RunNode(self): sym = self.Params.SymbolName.value #outputs self.Params.out.value = sym #END def RunNode def script1(self): self.Params.out.blocked = True def SymbolSelDialog( showall ): SetupDialogC = 12255 # Dialog open event ID CloseDialogC = 12256 # Dialog close event ID # alignment constants kRight = 1 kBottom = 2 kLeft = 3 kColumn = 4 kResize = 0 kShift = 1 # default and cancel button IDs kOK = 1 kCancel = 2 # control IDs kSymPopup = 4 def DialogHandler( item, data ): # setup of the dialog content ... if ( item == SetupDialogC ): resourceListID, numItems = vs.BuildResourceList( 97, 0, '' ) if showall: # show all symbols for cnt in range( numItems + 1 ): int = vs.InsertImagePopupResource( dialog, kSymPopup, resourceListID, cnt ) #END for else: # show only symbols in user defined symbol folder for cnt in range( numItems + 1 ): tempStr = vs.GetNameFromResourceList( resourceListID, cnt ) objH = vs.GetObject( tempStr ) parentH = vs.GetParent( objH ) if ( objH != None ) : int = vs.InsertImagePopupResource( dialog, kSymPopup, resourceListID, cnt ) #END for #END if elif ( item == kOK ): objIndex = vs.GetImagePopupSelectedItem( dialog, kSymPopup ) objName = vs.GetImagePopupObject( dialog, kSymPopup, objIndex ) # Write the selected symbol to the OIP control for script usage self.Params.SymbolName.SetValue( objName ) #END if #END def DialogHandler() dialog = vs.CreateLayout( 'Dialog', True, 'OK', 'Cancel' ) # create controls vs.CreateThumbnailPopup( dialog, kSymPopup ) # set relations vs.SetFirstLayoutItem( dialog, kSymPopup ) if ( vs.RunLayoutDialog( dialog, DialogHandler ) == 1 ): pass #END def SymbolSelDialog() SymbolListID, numSymItems = vs.BuildResourceList( 97, 0, '' ) #make list of all symbols #-- if there are no symbols at all, show error message and abort -- if ( numSymItems == 0 ): vs.AlertCritical( "There are no Materials in this document. Please add some and try again." ) elif (numSymItems > 0): SymbolSelDialog( True ) #show all Materials randomized Texture Fix Try 1.vwx
  7. Hi, is there in the meanwhile a good solution for the GetTexture problem where previously selected Textures where locked to the index of the PopupList not the Name/ID of the texture itself ? In the end the applied textures got kind of randomizes as soon as new materials got imported in the file and sorted near enough at the top of the list to affect the indexing of the list Is there a good solution for that ? See here: JH
  8. nearly 8 years later and still a major missing feature.😤 Since then they revised the resource Browser but missed that feature AGAIN !
  9. Is there already a solution to this ? Because there are situations where no dialog appears e.g. importing predifinied wallstyles incl. texture and co. by using the wall wool. 😞
  • Create New...