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.
    • TIGT Offline
      TIG Moderator
      last edited by

      EDIT:
      I now realize it's about the Windows need for trapping spaces in file paths - change it thus:
      Change your paths to keep the \ - the system-calls expect them NOT /:
      SCRIPTS_DIR = "C:\\Documents and Settings\\Administrator\\My Documents\\ScratchHolograms-master" PYTHON_PATH = "C:\\Python27"
      Then enclose the two parts of the system-call inside "" :
      IO.popen('"'+PYTHON_PATH+"\\draw_pattern.py"+'" "'+base_dir+"\\"+proposal+'"')

      TIG

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

        Finished exporting vertex data.
        Running python script...
        Error; #<Errno;;ENOEXEC; Exec format error - "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
        
        

        current plugin

        1 Reply Last reply Reply Quote 0
        • 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
                                          • 1 / 2
                                          • First post
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement