sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Hologram

    Scheduled Pinned Locked Moved Plugins
    29 Posts 3 Posters 1.5k Views 3 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.
    • D Offline
      driven
      last edited by

      have a look at Dan's
      [Plugin] Hypocycloid Cam Profile Generator v1.0.0 http://sketchucation.com/forums/viewtopic.php?p=470834#p470834
      it was based on a python [py/dxf] script that I couldn't get to run...
      he reworked it to SU ruby, may be a simpler approach...

      john

      learn from the mistakes of others, you may not live long enough to make them all yourself...

      1 Reply Last reply Reply Quote 0
      • TIGT Offline
        TIG Moderator
        last edited by

        I'm no expert on 'python' but isn't the cmd code more like this:

        path_to_py argument(s)

        Also have you got 'python' set up right in cmd window ?

        ftype Python26.File="C:\Python26\python.exe" "%1" %
        assoc .py=Python26.File*

        AND then run it...

        IO.popen('"'+PYTHON_PATH+"\\draw_pattern.py+'" "'+base_dir+"\\"+proposal+'"')
        OR
        **system**('"'+PYTHON_PATH+"\\draw_pattern.py+'" "'+base_dir+"\\"+proposal+'"')

        OR perhaps the .py part can't be inside "" ?

        Read this about file associations... http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/

        TIG

        1 Reply Last reply Reply Quote 0
        • robertWanR Offline
          robertWan
          last edited by

          Error Loading File solid_pattern.rb
          C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229; syntax error, unexpected $undefined, expecting ')'
          ...w_pattern.py+'" "'+base_dir+"\\"+proposal+'"')
                                        ^
          C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229; unterminated string meets end of file
          C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229; syntax error, unexpected $end, expecting kEND
          

          solid_pattern.rb

          1 Reply Last reply Reply Quote 0
          • TIGT Offline
            TIG Moderator
            last edited by

            My typo !
            2 missing characters...
            Try:

            IO.popen('"'+PYTHON_PATH+"\\%(#0000FF)["+]draw_pattern.py+'" "'+base_dir+"\\"+proposal+'"')

            If you view your code in Notepad++ with suitable RB syntax coloring it's clearly wrong...

            TIG

            1 Reply Last reply Reply Quote 0
            • robertWanR Offline
              robertWan
              last edited by

              @tig said:

              If you view your code in Notepad++

              I use PSPad. I install Notepad++.

              Finished exporting vertex data.
              Running python script...
              Error; #<NameError; undefined local variable or method `draw_pattern' for main;Object>
              C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229;in `ExportPattern'
              C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;239
              

              solid_pattern.rb

              1 Reply Last reply Reply Quote 0
              • TIGT Offline
                TIG Moderator
                last edited by

                Try this:
                d = IO.popen('"'+PYTHON_PATH%(#0000BF)[+"\\draw_pattern.py "+]base_dir+"\\"+proposal+'"')
                I misunderstood, there is no 'draw_pattern' variable !

                TIG

                1 Reply Last reply Reply Quote 0
                • robertWanR Offline
                  robertWan
                  last edited by

                  Finished exporting vertex data.
                  Running python script...
                  Error; #<Errno;;EINVAL; Invalid argument - "C;\Python27\draw_pattern.py C;\Documents and Settings\Administrator\My Documents\Untitled.pattern">
                  C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229;in `popen'
                  C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229;in `ExportPattern'
                  C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;239
                  
                  

                  solid_pattern.rb

                  1 Reply Last reply Reply Quote 0
                  • TIGT Offline
                    TIG Moderator
                    last edited by

                    I weary... try...
                    d = IO.popen('"'+PYTHON_PATH+'\draw_pattern.py" "'+base_dir+'"\\"+proposal+'"')
                    So many permutations... πŸ˜’

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • robertWanR Offline
                      robertWan
                      last edited by

                      @tig said:

                      I weary

                      😳

                      Error Loading File solid_pattern.rb
                      C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;230; syntax error, unexpected tCONSTANT, expecting ')'
                      	puts "Data export done. Python results w...
                      	          ^
                      C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;237; syntax error, unexpected tIDENTIFIER, expecting kEND
                      if(file_loaded("solid_pattern.rb"))
                                                   ^
                      C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;238; syntax error, unexpected tCONSTANT, expecting kEND
                      	 menu = UI.menu("Plugins");
                      	                        ^
                      C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;239; syntax error, unexpected tCONSTANT, expecting kEND
                      	menu.add_item("Make Solid Scratch Pattern...") { ExportPattern() }
                      	                   ^
                      C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;243; syntax error, unexpected tIDENTIFIER, expecting kEND
                      file_loaded("solid_pattern.rb")
                                                ^
                      C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;243; unterminated string meets end of file
                      C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;243; syntax error, unexpected $end, expecting kEND
                      

                      solid_pattern.rb

                      1 Reply Last reply Reply Quote 0
                      • TIGT Offline
                        TIG Moderator
                        last edited by

                        I must sleep now...
                        BUT I think this is it...
                        d = IO.popen('"'+PYTHON_PATH+'\draw_pattern.py" "'+base_dir+proposal+'"')

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • robertWanR Offline
                          robertWan
                          last edited by

                          Nothing worked out, did it?

                          Finished exporting vertex data.
                          Running python script...
                          Error; #<Errno;;ENOEXEC; Exec format error - "C;\Python27\draw_pattern.py" "C;\Documents and Settings\Administrator\My DocumentsUntitled.pattern">
                          C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229;in `popen'
                          C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;229;in `ExportPattern'
                          C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;239
                          

                          solid_pattern.rb

                          1 Reply Last reply Reply Quote 0
                          • TIGT Offline
                            TIG Moderator
                            last edited by

                            I assume the .py and .pattern files exist ?
                            Try this instead - there was a missing \ before ' proposal':
                            d = system('"'+PYTHON_PATH+'\draw_pattern.py" "'+base_dir%(#0000FF)[+"\\"]+proposal+'"')
                            If you paste this into a Windows cmd window [including the "s] does it work ?
                            "C:\Python27\draw_pattern.py" "C:\Documents and Settings\Administrator\My Documents%(#0000FF)[\]**Untitled**.pattern" - substitute the **Untitled** with another name if appropriate...

                            TIG

                            1 Reply Last reply Reply Quote 0
                            • robertWanR Offline
                              robertWan
                              last edited by

                              Finished exporting vertex data.
                              Running python script...
                              Data export done. Python results will appear as soon as they are completed
                              Error; #<NoMethodError; private method `gets' called for false;FalseClass>
                              C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;231;in `ExportPattern'
                              C;/Program Files (x86)/Google/Google SketchUp 8/Plugins/solid_pattern.rb;239
                              

                              http://www.screencast.com/t/lDjsrKcXTb


                              draw pattern.jpg

                              1 Reply Last reply Reply Quote 0
                              • TIGT Offline
                                TIG Moderator
                                last edited by

                                So it's working, sort of... πŸ˜•
                                d is set to the result of the system call...
                                Then if fails at:
                                while d.gets != nil puts d.gets end
                                Because ' d' is ' false' !
                                Why no add a puts d just after the system call to see what you are getting...
                                I suspect it'll NOT be complex data - just success/failure true/false ??

                                Also in the screen-cast the .py extension was not recognized as being associated with Python !
                                Go back a few posts to see my advice and the links etc, on ensuring this is set up correctly...

                                Also in the screen-cast the file was named Untitled.pattern**abc** ?
                                Why the extra characters ?

                                When you run the .py what do you expect ?
                                If it's 'data' then I suggest you get the .py to write it into to a [temporary] file then use IO.read on it in Ruby to get that data...
                                You might need to add a sleep and test for the existence of that file before using IO, as once you launch the Python process it will run separately from the Ruby side...

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • D Offline
                                  driven
                                  last edited by

                                  @tig

                                  on mac if you drag a file to the 'cmd promt ' [i.e. Terminal.app], you get the correctly escaped full path...

                                  you can then either harcode that path for a test or change the system call to puts to see if they match...

                                  does that work on a PC?

                                  john

                                  learn from the mistakes of others, you may not live long enough to make them all yourself...

                                  1 Reply Last reply Reply Quote 0
                                  • robertWanR Offline
                                    robertWan
                                    last edited by

                                    @unknownuser said:

                                    Also in the screen-cast the file was named Untitled.patternabc ?

                                    I wrote it in SU in that plugin window. I know, it makes no sense, I've changed the extension. But when I kept the same name and extension the result was the same.

                                    Robert


                                    CMD.jpg

                                    1 Reply Last reply Reply Quote 0
                                    • TIGT Offline
                                      TIG Moderator
                                      last edited by

                                      So is it an error in your .file ?

                                      TIG

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

                                      Advertisement