sketchucation logo sketchucation
    • Login
    1. Home
    2. jessejames
    3. Posts
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    โš ๏ธ Important | Libfredo 15.6b introduces important bugfixes for Fredo's Extensions Update
    J
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 9
    • Posts 166
    • Groups 1

    Posts

    Recent Best Controversial
    • RE: Ruby's global nightmare!

      Ah my fellow Python "brother in arms" Martin, who agrees with me, but only half way... I'm royally screwed! ๐Ÿ˜ข

      @martinrinehart said:

      But Ruby it is because @Last Software chose Ruby. We use Ruby for the same reason Apple Iphone developers use Objective C; for the same reason Henry Ford's Model T customers chose black.

      And this is the flaw in API's world wide. Why is not a C level API exposed to all so that we can wrap with language of choice? As any well versed programmer knows one language can not solve all problems effectively. So what i am saying is give the people the tool that is a thousand tools all in one... C. The mailable metal of programming languages. Then we will hone and forge the element metal into the weapons of war specific to our battle at hand -- Ruby, Python, JavaScript, Perl, and of course TimToady

      ๐Ÿ˜Ž

      posted in Developers' Forum
      J
      jessejames
    • RE: Ruby's global nightmare!

      @unknownuser said:

      I can see your point but there are other languages for which we could make a similar case.

      First thanks for the level headed response, i like people who can discuss even controversial subjects without getting all emotional, Jim also replied intelligently.

      @unknownuser said:

      It is more a question of whether the api was created for coders or users. My feeling is it was created for SU users, facilitated by coders and this end, justifies the means, whether it be Ruby or Shnuby, a coder often has to adopt a syntax he would like to avoid....you are a little spoiled I think.

      No not a little, i am completely spoiled rotten! And i want you guys to be my fellow brats without bonds!

      @unknownuser said:

      All in all Ruby does a real fine job as reported by the users.

      Well i am sure microsoft thinks they are doing a real fine job too. Without a litmus test or pepsi challenge how will you ever know if Ruby is the right choice. Heck maybe Ruby AND Python are the right choice!

      @unknownuser said:

      If you can create effective pluggins using Python then the user community will decide if Python is a viable alternative...not you...not the coder.

      Python and Ruby can both create effective plugins equally. Python shines in usability, learnability, a clear and clean syntax, and more tutorials than you can shake a stick at!!

      @unknownuser said:

      If you want to use a coders language then go find ObjectStar

      I don't want a coders language, i want an API language that is well known, well aged, and well suited for pro's and nub's. Python is that language.

      posted in Developers' Forum
      J
      jessejames
    • RE: Ruby's global nightmare!

      @jim said:

      can you post an example Ruby script that demonstrates that all the variables and functions and classes become global to the interpreter?

      Sure Jim, but it's so easy to write i'll just let you do it.

      
      def global_mess
          puts "hello from global mess"
      end 
      
      

      Now just throw that into a script and run sketchup. Open the console and type

      global_mess
      

      You should not be able to do that without qualifing the function first with a module name, oh yeah i forgot, Ruby makes you use a special syntax for that with more end statements piled into the trash heap!

      @unknownuser said:

      But really JJ, that script is nothing more than a simple function call. Nobody writes such simplistic scripts!

      Oh yes they do! In fact, most the scripts by your major contributors(name omitted for fear of lawsuit) are nothing more than a single function call from a menu item! Of course, for tools and extended functionalities a class is paramount, but i would say 75% of the scripts out there don't even use a class. Heck some people even pay good money for such simplistic scripts (and tee shirts and hats ta boot! ๐Ÿคข )

      Jim,
      on what experience do you base your lack of interest in Python? Have you ever actually written any Python code? If you have not, i can not see how you can just say "i have no interest" and just leave it at that. You are a SketchUp scripter are you not? Don't you want a tool that is paramount to efficient workflows and easy to learn and use at the same time.

      I guess we could all use ACAD, but there must be some driving force behind our collective choice to use SketchUp. Is it because SketchUp is so easy to learn and use? Maybe because SU has an intelligent design and workflow? Heck maybe because SU is 30MB download instead of gigs!

      PS: Jim, I will be happy to personally tutor you in the Python language for free if you like. It just might change your outlook on languages and language design the same way SketchUp changed your outlook on modeling and modeling software design!

      posted in Developers' Forum
      J
      jessejames
    • RE: Ruby's global nightmare!

      @unknownuser said:

      long version: it is not our decision that Ruby is used for the API for Sketchup.

      So what does that mean TBD? Are you hinting that you would like to use another language besides Ruby but have no other choices at this time? Or maybe you just took my comments as personal attacks?

      @unknownuser said:

      you are free to create another Python bridge for SketchUp and then we will talk. or expand SuPy and make something useful with it. until then ...

      What good would talking do then? The Python "gift of freedom" would be upon us, no need to discuss the shortfalls of Ruby when a better choice is available. Pointing out Ruby's shortcomings after a better choice exists would be a case of trolling. Currently with Ruby as the only choice it must bear it's own deficiencies as heartbreaking as they may be to Ruby lovers. Does this make sense to you?

      I would like for you TBD (or anyone) to argue my points and defend the Ruby language if anything i said is untrue. However, everything i said is complete fact so the only argument to facts, sadly, is to resort to adolescent name calling.

      Discussion is a good thing, even the occasional argument.After all this is a discussion group is it not? All such interchange leads to mutual understanding and innovations -- of course only if the subsequent parties are adult enough to not hold personal grudges.

      posted in Developers' Forum
      J
      jessejames
    • Ruby's global nightmare!

      Does anyone find it disturbing that by loading a script into Sketchup all the variables and functions and classes become global to the interpretor? This creates major name conflicts between scripts! Ruby's patch for this is the "Module" syntax which is even more disturbing. Let me show you slaves something that might just rock your little world...

      The following is Python code. When you write scripts in Python and "import" them (same as require or load in Ruby) the script becomes a Module automatically and the name of ths module is the name of the script. (quite impressive i know!) So the following code i create a script named testscript.py

      
      WHITE = (1.0,1.0,1.0)
      count = 1
      
      d = {1;'one', 2;'two'}
      a = [1,2,3,4]
      
      def doit();
          for x in a;
              print x
      
      class Point3d;
          def __init__(self, x, y=None, z=None);
              if y == None;
                  self.x,self.y,self.z = x
              else;
                  self.x,self.y,self.z = x,y,z
          def __repr__(self);
              return 'Point3d(%s, %s, %s)' % (self.x, self.y, self.z)
      
      

      Now lets import our script for usage..

      
      >>> import testscript
      >>> testscript
      <module 'testscript' from 'C;\Python26\testscript.py'>
      
      

      testscript.py has been imported as module "testscript" so all names within the module are keep out of global namespace! Lets see what is available in test script by using the builtin dir() function

      
      >>> dir(testscript)
      ['Point3d', 'WHITE', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'a', 'count', 'd', 'doit']
      
      

      Ok lets play around with testscript module a bit. To access the contents of testscript you use the widley accepted "dot" syntax.

      
      >>> testscript.WHITE
      (1.0, 1.0, 1.0)
      >>> testscript.doit()
      1
      2
      3
      4
      >>> pt1 = testscript.Point3d(0,0,0)
      >>> pt1
      Point3d(0, 0, 0)
      >>> 
      
      

      Now lets import just a few things so we don't have to type testscript.this all the time

      
      >>> from testscript import Point3d, WHITE
      >>> pt1 = Point3d(0,0,0)
      >>> pt1
      Point3d(0, 0, 0)
      >>> WHITE
      (1.0, 1.0, 1.0)
      
      

      but what if i like to have dirty namespaces? Well then you could do this...

      
      >>> from testscript import *
      >>> WHITE
      (1.0, 1.0, 1.0)
      >>> d
      {1; 'one', 2; 'two'}
      >>> a
      [1, 2, 3, 4]
      >>> doit()
      1
      2
      3
      4
      >>> pt2 = Point3d(1,1,1)
      >>> pt2
      Point3d(1, 1, 1)
      
      

      You see what i am saying here people? The way Ruby handles namespace is flawed. You should not need to use some extra syntax, the script should be the module.

      SketchUp is not meant for Professional coders. The good people of SketchUp need a language that offers intelligent design, clean namespaces, introspection, has a clear and clean syntax. Python offers this and so much more. Hey i'm only offering you guys a path to coding freedoms. You can choose to follow or wallow in hell if you wish.

      Just to make you jealous i will show you how Python allows docstrings in functions, methods, and classes

      
      >>> def add(x, y);
      	'''This is a docstring.
      add(x, y) -> x+y'''
      	return x+y
      
      >>> help(add)
      Help on function add in module __main__;
      
      add(x, y)
          This is a docstring.
          add(x, y) -> x+y
      
      >>> add(1,2)
      3
      
      

      Python just blows Ruby away. There is no language better suited for API scripting than the Python programming language. Most of the hard core coders here will argue with me on this because 1) they just love Ruby too much 2) they have been brainwashed by Ruby's atrocities for too long.

      Oh yeah, did you see any "end" statments in my Python code. No, that is becuse Python does not use the redundant end statement. Python uses 100% indentation to denote a block which results in beautiful structured code and reinforces smart structure early in the mind of a budding programmer. This is a good thing!

      @unknownuser said:

      Hold on! Just wait a minute Jesse James, how do you know all of this? How could you be more enlightened than the SketchUp dev team?

      These are good questions. I have used both Python and Ruby and no matter how much i try to see past Ruby's atrocities Ruby always seems too overly redundant, not structured in an intelligent way, and just plain flawed!

      @unknownuser said:

      But JJ, i find this hard to beliveve. Why would the Dev team choose a language that is so flawed as you suggest? They seem like honest people...?

      I think they are honest people but have just been brainwashed by Ruby for too long, and maybe they never used Python before? Either way don't worry, JJ is here to guide you lemmings into the promised land. But will you follow? That fact remains to be seen...?

      I always say you can get accustomed to any amount of torture if you endure it long enough. But that does not make the torture somehow righteous or legitimate!

      posted in Developers' Forum
      J
      jessejames
    • RE: Google....give us back our back button[SOLVED]

      @solo said:

      I believe they are watching, let's wait for the next version and see.

      Good point Solo, we should give them the benefit of the doubt here and wait for SU8...

      posted in SketchUp Feature Requests
      J
      jessejames
    • RE: Chopsaw like tool plugin?

      Nobody said you where a "sub par" designer. I think your designs are great. No need to show us your resume to prove it.

      But when you come to a group and ask this...

      @fitz said:

      I work a lot with models that intersect at angles,(crown moulding as one example) and use the "intersect model" tool quite a bit, as its the only method I've found for making compound miters in models.

      Then after i gave you some great advice you go off on some tirade with the notion that i somehow slandered you, well that's just childish!

      Then later you even admitted your mis-communication problem here....

      @fitz said:

      the so called "miter action" I speak of, especially using "crown moulding" as an example was a massive oversimplification on my part, as what I REALLY am refering to is different models "intersecting" at angles.

      Makes me wonder of your intentions...?

      After looking over your pictures (and man are there a ton of them!) i noticed some errors that i would like to point out. You will probably think i am being mean but you need to know these simple facts about construction before you go off claiming to be some kind of superman!

      In the next picture i annotated some horrible mistakes in framing that would cause you to surely fail a structural inspection... and get laughed off a job site...
      http://jjsenlightenments.blogspot.com/2009/09/how-not-to-frame-door.html

      This proves to me your lack of construction knowledge. Your a designer with no formal training in the feild. Sometimes what looks good on paper is nothing more that wishful fantasies and pipe dreams. Not only do you not have the all encompassing knowledge of a project manager, you lack even the basic skills of a 12.00hr carpenter.

      Don't try to challenge me at my game!

      posted in SketchUp Discussions
      J
      jessejames
    • RE: Google....give us back our back button[SOLVED]

      Still not a peep from Google on this? What gives? Most of the well known people here and at Google groups, not to mention blogs all over WWW have been complaining about this.

      SketchUp 8 is coming Google, could you please just do a copy/paste from the previous code so we can get our back button?

      posted in SketchUp Feature Requests
      J
      jessejames
    • RE: Chopsaw like tool plugin?

      Q: do you print out schematics for each nails location? ๐Ÿ˜†

      Two Suggestions:

      1. Hire a couple of real cabinet carpenters who don't need step-by-step instructions on how to use a hammer and drive nails -- however, you have to pay them more than 12 bucks an hour! Shoot for the $30.00hr range and up, or cut them in on a percentage.

      2. Buy or write a good estimation software for your material take-offs. Looks like you spend more time modeling than actually building. All you need "design wise" is to show your customer the end game. Sure, i am a firm believer in design phase, but too much and you've lost the client and wasted too much time -- time is money ya know! ๐Ÿ˜ž

      A good carpenter does not need this much info. Sure If your "IKEA funiture" (giggle) and selling particle-board-boxed-furniture to joe public well i can understand such step-by-step details, but...?

      Sure some specific areas will need finer detail. But a soffit come on? If he can't build the soffit from a simple length/width dimensioning then he ain't no carpenter.

      PS: Time to take out a classified ad ๐Ÿ˜†
      PPS: Chopsaw? ๐Ÿ˜†

      Obliviously you are an ivy-league designer and have no real-world construction or construction management experience.

      posted in SketchUp Discussions
      J
      jessejames
    • RE: Chopsaw like tool plugin?

      @fitz said:

      I work a lot with models that intersect at angles,(crown moulding as one example) and use the "intersect model" tool quite a bit, as its the only method I've found for making compound miters in models.

      Have you tried the "follow-me" tool to "extrudeAlongPath" a face around corners while at the same time creating the miter action of which you speak?

      When modeling the real world actions of a carpenter, you can't just translate that 1:1 into 3D digital world. Here in digital 3D, we don't go to home depot online and buy crown molding in 16' lengths and then try to accurately fit them to walls by cutting with a Compound Miter Saw.

      No, we create the profile once, then extrude(Push-Pull) OR extrudeAlongPath(Follow-Me) the profile and let the "accurate fitting" work itself out. The only trimming may be where you meet a weired ending angle (like a point), but extrusion can even handle "miter returns" if set up properly. Proper technique like modelhead mentioned will trim the excess of a point or other strange ending.

      Use extrusion when ever possible, only use intersection as a last resort!

      Never try to relate 3D modeling to the real world. In the real world you are a slave, in SketchUp you are an all powerful GOD!

      posted in SketchUp Discussions
      J
      jessejames
    • RE: SketchUp IDE?

      Hmm, I would simply like to see that ugly "one line text box" and "scrolled text" output (aka: Ruby Console) become a Python IDLE Shell clone. Just being able to enter multi-line code would be a God send and increase productivity.

      But a real built-in SuIDE would be even better! Python IDLE is a good template. Simple, user friendly, written in Tk, need i say more? but whatever it is written in, just do it man!

      SU8 is comming! ๐Ÿ˜ฎ

      posted in Developers' Forum
      J
      jessejames
    • RE: Bad News for Architects in the next ver. of Google Sketchup

      @honoluludesktop said:

      Just keep in mind that a lot of us depend on DXF. Some, have no other reasonable option ๐Ÿ˜ž

      Yikes i feel really bad now ๐Ÿ˜•

      In an effort to relate to the loss of DXF i imagined for a second (and only a second!) that scripting or some other functionality that was important to me where removed and ouch i am very hurt and angry now! Google, you really know how to put the hooks in us don't you! But at least you give instead of take, take, take -- like you know who!

      Please understand Honolulu that my beef is with proprietary formats that have been shoved down our throats for years now by M$, ACAD, and the other greed mongering corporations out there who's evil empire aspirations make my head spin around in circles whilst spiting pea soup! ๐Ÿคข

      And my happiness is only in the fact that we will now get a true "modelers" file type for Import/Export of SU files. Sadly though at great loss to many among us!

      But now i can feel the damage that you must be feeling. What could be next? Scripting? Printing? Reduced Functionality? I understand the financial reasons but...???

      The only way to fix this whole conundrum would be to OpenSource SketchUp. But alas, that is but the pipe dream of fools. This software is sadly too revolutionary for open source.

      If we could only find a way for Google to profit from this app then maybe...?

      ahh rats, life stinks! ๐Ÿ˜ 

      posted in SketchUp Discussions
      J
      jessejames
    • RE: Ruby Console woes

      @martinrinehart said:

      Let's do something about this.

      Hello Martin,

      I knew enlightened minds like myself existed in SketchUp land, but just did not have the physical evidence until now. Well that's still only less than a handful of Python coders i have a count of... Myself, Greg, You, and a very interested fan tomot who stood by me last year through trials and tribulations and got nothing in return. And there where a few other seeming interested parties... (Sorry if i left anyone out)

      hmm, not enough to start the revolution, but it's a start nonetheless!

      But seriously,
      Python IDLE is a great yardstick to judge entry level IDE's on. If you like "fancy" IDE's, well you will be disappointed with IDLE. But IDLE is built for one thing, introducing noobies to the Python programming language in a very comfortable way.

      So we all know that a new multi-line interactive console is desperately needed. I can't see why SketchUp dev would not alow us to build this for them, and then they could throw it in the source distro.

      But we must get this into the core SketchUp release. If someone just releases another plug-in and that ugly Ruby console stays in SketchUp then we might all just as well download one of the already existing Ruby IDE's out there.

      But a real Ruby SUIDLE("swiddle" or "sweedle") OR SUIDE("sweede") would be a god send for everybody! And Taking IDLE's modular approach we could start simple and just add to our hearts desire!

      The current Python IDLE weighs in a 1.53MB but a lot of this can be trimmed. Only the most important features are really needed...

      Minimum Features
      -syntax highlighting
      -bracket matching

      Icing on the Cake
      -code completion
      -object browsing
      -smart indent
      -call tips
      -"your wish here"

      But most importantly this whole redundant cycle of the current Ruby scripting experiance is quite laborious. Here is a short script that describes the process in painstaking detail...

      
      from patience import *
      from meds import Prozac, Asperin  
      
      rants = [
        'OMG!, not again!', 
        'rats, here we go again!',
        'Somebody just shoot me already!',
         ] 
      
      def lament(self);
         self.sanity -= 1
         print random.choice(rants)
      
      def medicate();
          self.swallow(Prozac, Asprin)
      
      count = 0
      while self.sanity > 0;
        count += 1
        if count % 5 == 0;
          self.medicate()
        self.write_or_tweak_code()
        try;
          su = SketchUp.open()
          try;
            su.test_script_functionality();
            break
          except ScriptRuntimeError;
            self.lament()
        except ScriptLoadError;
          self.lament()
        finally;
          su.close()
      print 'Finally! \
      It only took %d cycles to complete this task *sarcasm*' %(count)
      
      

      ...needs to go the way of the Dodo.

      posted in Developers' Forum
      J
      jessejames
    • RE: Ruby Console woes

      @jim said:

      I don't think your comparison is fair - you are not comparing apples to apples.
      You are comparing the full Python language installation, with all its standard and non-standard libraries against Sketchup-ruby - which is Ruby in a single .dll and includes none of the Ruby language standard libraries you get with the full Ruby installation.

      Respectfully, I think you misunderstood my intentions Jim. I'm not saying "look" Python IDLE rules and Ruby console sucks. No. I am saying Python IDLE has some very good things going for it and i want to create a Ruby clone of it for SketchUp.

      @jim said:

      If Google had choosen to embed Python in Sketchup instead of Ruby, we would still have only a single .dll of Python, and it would include almost none of the Python language libraries - of which IDLE is one. So you instead of the crappy Ruby Console, you'd be stuck with the crappy Python Console.

      Yes this is exactly right, i am trying to change that...

      @jim said:

      If you are interested, here is a way to use Python for SketchUp: http://www.cosc.canterbury.ac.nz/greg.ewing/SuPy/

      Thanks Jim giggle. It was my crusading, and begging, and nagging last year (at the expense of my reputation to multiple communities) to everyone on planet earth including "Guido van Rossum" himself that brought about this module.

      Greg Ewing shares my interest in Python and SketchUp and my crusading helped nudge him to make this module.(Thanks again Greg!)... SketchUp, you have not heard the last of SuPy, i can assure you of that. ๐Ÿ˜Ž

      But i am not against fixing Ruby also. I have learned alot about the language and now have a better respect for it. So that is why i want to create or improve on an existing multi-line-console for SU.

      Jim,
      I see you have posted an image of the new console, this looks wonderful!!!

      posted in Developers' Forum
      J
      jessejames
    • RE: Bad News for Architects in the next ver. of Google Sketchup

      It's XML people! just throw some info between <tagname> and </tagname> and whamo! It now supports "tagname's" functionality.

      ...well that is, as long as the receiver knows what to do with the extra info.

      If you want to see it first hand, draw some geometry in SketchUp and export as kmz. Then rename the file to zip and open the .dae file in a text editor. Beautiful! Makes DXF look like lipstick on a pig ๐Ÿ˜†

      posted in SketchUp Discussions
      J
      jessejames
    • RE: Ruby Console woes

      @jim said:

      I did start an upgrade to WebConsole (and it does have syntax highlighting!)

      Jim where is the file? I cannot find it on your blog ๐Ÿ˜• I see Web Dialog but that is it. And the title of your dialog in the image is "Ruby Web Dialog 2"...

      @mitcorb said:

      Answer: Boudreaux's Butt Paste! I kid you not. That's the name. Also excellent for diaper rash. Jus' ax any Sout' Luzianna momma.

      Ah yes. I have seen this in the grocery store. Very funny, thanks ๐Ÿ˜†

      posted in Developers' Forum
      J
      jessejames
    • RE: Ruby Console woes

      Sorry for the run on monologuing here but i need to show you all something. One thing Python has that Ruby desperately needs is command line help and doc strings. I could lecture about it all day but let me just show you an interactive session...

      here i import math and print all the available methods in the "math" module

      
      >>> import math
      >>> dir(math)
      ['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'exp', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'hypot', 'isinf', 'isnan', 'ldexp', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
      
      

      Now i just want some info on math.hypot method

      
      >>> help(math.hypot)
      Help on built-in function hypot in module math;
      
      hypot(...)
          hypot(x,y)
          
          Return the Euclidean distance, sqrt(x*x + y*y).
      
      

      Now i just show help for whole module (line breaking are mucking up the text but you get the idea)

      
      >>> help(math)
      Help on built-in module math;
      
      NAME
          math
      
      FILE
          (built-in)
      
      DESCRIPTION
          This module is always available.  It provides access to the
          mathematical functions defined by the C standard.
      
      FUNCTIONS
          acos(...)
              acos(x)
              
              Return the arc cosine (measured in radians) of x.
          
          acosh(...)
              acosh(x)
              
              Return the hyperbolic arc cosine (measured in radians) of x.
          
          asin(...)
              asin(x)
              
              Return the arc sine (measured in radians) of x.
          
          asinh(...)
              asinh(x)
              
              Return the hyperbolic arc sine (measured in radians) of x.
          
          atan(...)
              atan(x)
              
              Return the arc tangent (measured in radians) of x.
          
          atan2(...)
              atan2(y, x)
              
              Return the arc tangent (measured in radians) of y/x.
              Unlike atan(y/x), the signs of both x and y are considered.
          
          atanh(...)
              atanh(x)
              
              Return the hyperbolic arc tangent (measured in radians) of x.
          
          ceil(...)
              ceil(x)
              
              Return the ceiling of x as a float.
              This is the smallest integral value >= x.
          
          copysign(...)
              copysign(x,y)
              
              Return x with the sign of y.
          
          cos(...)
              cos(x)
              
              Return the cosine of x (measured in radians).
          
          cosh(...)
              cosh(x)
              
              Return the hyperbolic cosine of x.
          
          degrees(...)
              degrees(x) -> converts angle x from radians to degrees
          
          exp(...)
              exp(x)
              
              Return e raised to the power of x.
          
          fabs(...)
              fabs(x)
              
              Return the absolute value of the float x.
          
          factorial(...)
              factorial(x) -> Integral
              
              Find x!. Raise a ValueError if x is negative or non-integral.
          
          floor(...)
              floor(x)
              
              Return the floor of x as a float.
              This is the largest integral value <= x.
          
          fmod(...)
              fmod(x,y)
              
              Return fmod(x, y), according to platform C.  x % y may differ.
          
          frexp(...)
              frexp(x)
              
              Return the mantissa and exponent of x, as pair (m, e).
              m is a float and e is an int, such that x = m * 2.**e.
              If x is 0, m and e are both 0.  Else 0.5 <= abs(m) < 1.0.
          
          fsum(...)
              sum(iterable)
              
              Return an accurate floating point sum of values in the iterable.
              Assumes IEEE-754 floating point arithmetic.
          
          hypot(...)
              hypot(x,y)
              
              Return the Euclidean distance, sqrt(x*x + y*y).
          
          isinf(...)
              isinf(x) -> bool
              Checks if float x is infinite (positive or negative)
          
          isnan(...)
              isnan(x) -> bool
              Checks if float x is not a number (NaN)
          
          ldexp(...)
              ldexp(x, i) -> x * (2**i)
          
          log(...)
              log(x[, base]) -> the logarithm of x to the given base.
              If the base not specified, returns the natural logarithm (base e) of x.
          
          log10(...)
              log10(x) -> the base 10 logarithm of x.
          
          log1p(...)
              log1p(x)
              
              Return the natural logarithm of 1+x (base e).
                    The result is computed in a way which is accurate for x near zero.
          
          modf(...)
              modf(x)
              
              Return the fractional and integer parts of x.  Both results carry the sign
              of x and are floats.
          
          pow(...)
              pow(x,y)
              
              Return x**y (x to the power of y).
          
          radians(...)
              radians(x) -> converts angle x from degrees to radians
          
          sin(...)
              sin(x)
              
              Return the sine of x (measured in radians).
          
          sinh(...)
              sinh(x)
              
              Return the hyperbolic sine of x.
          
          sqrt(...)
              sqrt(x)
              
              Return the square root of x.
          
          tan(...)
              tan(x)
              
              Return the tangent of x (measured in radians).
          
          tanh(...)
              tanh(x)
              
              Return the hyperbolic tangent of x.
          
          trunc(...)
              trunc(x;Real) -> Integral
              
              Truncates x to the nearest Integral toward 0. Uses the __trunc__ magic method.
      
      DATA
          e = 2.7182818284590451
          pi = 3.1415926535897931
      
      
      

      This is what makes Python so intuitive to new users. It's a powerful tool! You can even create your own doc strings for classes and method/functions if you want to!

      EDIT: I actually posted this same idea on comp.lang.ruby last year. And to my surprise "Mats" (ruby's creator) himself said that it would be a great idea! So the will is there...

      posted in Developers' Forum
      J
      jessejames
    • RE: Ruby Console woes

      @chris fullmer said:

      Then from there we could discuss what ELSE could be added to a multi-line editor. Perhaps line numbering, syntax highlighting. It is my understanding that all those things would be possible to implement into an html inputbox like Jim's WebConsole.

      Finally! Someone that sees the truth!!!

      Chris we need to put our minds together and build a useful multi-line-editor for SketchUp. Jim has a template and maybe we can build off of it.

      Unfortunatly however, i know nothing of JavaScript or the web. I am an applications "kinda" guy so wxRuby or Tkinter would be more my cup of tea. But i will help in anyway possible because i believe this is SO important for SketchUp.

      Heck maybe i will learn JavaScript at the same time! ๐Ÿ˜‰

      Maybe after building something useful we can convince the SU guy's to package it with the source distro? But if not, at least it will be downloadable for those who need it.

      posted in Developers' Forum
      J
      jessejames
    • RE: Bad News for Architects in the next ver. of Google Sketchup

      @honoluludesktop said:

      JesseJames, I am not a expert, but besides your dislike for ACAD, what is wrong with DXF?

      Hello honolulu, how's the weather? ๐Ÿ˜„

      Putting ACAD's evil world domination aspirations aside, i feel DXF is just an ugly antiquated bloat that needs to go the way of the Dodo bird -- and the quicker the better. ACAD will change if we force them to! But that change will never come from within.

      @honoluludesktop said:

      Good points: It is ASCII, thus changeable with a text editor, easy to read, and understand.

      COLLADA is just an XML file. So you can read and edit it with a standard text editor OR with special "fancy" editors. So COLLDA is DXF without the antiquities, but with a much more intelligent markup structure.

      @honoluludesktop said:

      It creates big files, but not unmanageable by today's standards.

      Yes far too big! But, "?not unmanageable?" as measured by what yardstick? DXF is actually very ugly in a text editor. IMHO. Parsing markup tags is sooo much easier.

      @honoluludesktop said:

      It also has nothing to do with "open", apparently Sony owns "Collada", and maybe elect to "close" it some day, just as ACAD did with DXF.

      You have a point. Sony is no Angel by far! I would like a guaruntee of free-ness from Sony because i have not forgotten about those evil Sony rootkits that plagued the world not so long ago! ๐Ÿ˜ก

      I have not read the details of license in full. But i do know that as it stands now, COLLADA is released for commercial and private usage (per the website). I would much like a truley open standard but that can come in due time. First we must ween of the ACAD nipple!

      @honoluludesktop said:

      It is also widely used by most Cad applications, and because it has been around for a while, continues to provide access by legacy applications (some of which is not more then 10 years old), and to older databases by new ones.

      And i fear a thousand more years of ACAD proprietary dictatorship will continue unless the revolutionaries storm the palace and remove the "greedys" from power.

      @honoluludesktop said:

      Bad points: ?????

      not sure? But no system can possibly be perfect. More good than bad i am sure. With COLLADA now i can export to Blender for fancy subsurface/ sculping stuff that SketchUp is not good at and vice-versa!

      Sorry if my post seems like a hahaha to ACAD users, that was not my intent. Losing any functionalty as important as Import/Export hurts. But since the free version is primarily geared towards hobbist modelers and GE, i can see the reasoning behind such a move. And i can understand the anger of SU Pro guys when they see a free version that allows such functionality.

      posted in SketchUp Discussions
      J
      jessejames
    • RE: Ruby Console woes

      @chris fullmer said:

      I agree, but even if it has shortcomings, it is still a zillion times better than just using the console and a text editor!

      That's the truth, the whole truth, and nutt'in but the truth Chris!

      The Ruby console as it is today, is a barrier to learning the Ruby language for SketchUp noobies and oldies alike. As for myself, I finally made it through my "acid bath" introduction last year and i can tell you it felt like the "trials of Job" had been cast on me!

      Since the Ruby console is the gateway to SketchUp scripting, NO WONDER people are scared to death of writing scripts for SketchUp! I can't imagine the trials and tribulations a non-programmer would face. ๐Ÿ˜ฒ

      Interactive multi-line consoles like the Python IDLE shell, are the best place to "get to know" a programming language. And it does not stop there... oh No, quite the contrary! Even after learning the language testing out small code snippets for functionality is paramount to productivity!

      Too bad SketchUp is closed source because i know a lot of "gracious" folks out here would like to make SU an even better tool than it is today, and would not even charge a penny for those services. Heck! i would do it even for the proprietary SketchUp as a thanks for Google allowing me to use this great software.

      SketchUp is the only proprietary software i have ever used that has that liberating feeling of OpenSource.

      -jj

      posted in Developers' Forum
      J
      jessejames
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 5 / 9