sketchucation logo sketchucation
    • Login
    🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

    Sketchup crashes when import,purge_unused,export dae files

    Scheduled Pinned Locked Moved Newbie Forum
    sketchup
    1 Posts 1 Posters 203 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Y Offline
      YoungOSG
      last edited by

      Sketchup crashes when import,purge_unused,export hundreds of *.dae files.
      I use api to do this.It works fine while handling few *.dae files.
      anyone konws why?

      Here is my code

      require 'sketchup.rb'
      require 'fileutils'

      UI.menu("Plugins").add_item("purge_multi_daeE") {

      @import_folder = selectImportDaefolder()
      break if @import_folder==nil
      @export_folder = selectExportDaefolder()
      break if @export_folder==nil
      
      
      @daeFiles = getDaeFiles(@import_folder,".dae")
      
      
      purgeDaeFile(@daeFiles,@import_folder,@export_folder)
      
      
      
      Sketchup.send_action("selectSelectionTool:")
      

      }

      def purgeDaeFile(daeFiles, import_folder,export_folder)
      model = Sketchup.active_model

      subName = getDirName(import_folder)
      Dir.chdir(export_folder)
      FileUtils.rm_r subName if Dir.exist?(subName)	
      
      
      i = 0
      Dir.mkdir(subName)
      daeFiles.each{|singleDaeFile|
      	Sketchup::set_status_text("purge " + File.basename(singleDaeFile))
      
          status = Sketchup.active_model.definitions.purge_unused
       
      	f.puts(singleDaeFile)
      
      	importDaeFile(singleDaeFile)
      
      
      	purgeModel()
      
      
      	resultFileName = File.join(export_folder,subName,File.basename(singleDaeFile))
      	Sketchup.active_model.export(resultFileName, false)
      
      
      	deleteLastModel()
      	
      }
      

      end#def

      purge dae model

      def purgeModel()
      # 1. purge styles
      styles = Sketchup.active_model.styles
      status = styles.purge_unused

      # 2. purge materials 
      materials = Sketchup.active_model.materials
      materials.purge_unused
      
      # 3. purge definitions
       definitions = Sketchup.active_model.definitions
       status = definitions.purge_unused
      
      # 4. purge layers
      layers = Sketchup.active_model.layers
      status = layers.purge_unused
      

      end#def

      导入dae file

      def importDaeFile(singleDaeFile)
      model = Sketchup.active_model
      model.import(singleDaeFile,false)
      entities = model.entities
      definitions = model.definitions
      definitions.each {|definition|
      transformation = Geom::Transformation.new([0,0,0])
      componentinstance = entities.add_instance(definition, transformation)
      }

      Sketchup.send_action("selectSelectionTool:")
      

      end#def

      def deleteLastModel()
      model = Sketchup.active_model
      entities = model.active_entities
      entities.erase_entities entities.to_a

      end#def

      1 Reply Last reply Reply Quote 0
      • 1 / 1
      • First post
        Last post
      Buy SketchPlus
      Buy SUbD
      Buy WrapR
      Buy eBook
      Buy Modelur
      Buy Vertex Tools
      Buy SketchCuisine
      Buy FormFonts

      Advertisement