New API doc - typos and questions

Re: New API doc - typos and questions

Postby thomthom » Fri Jan 22, 2010 1:21 pm

TIG wrote:But strangely not with add_arc which returns an ArcCurve ?

Nope, also returns an array.

TIG wrote:It would be unadvisable to change what the API does with these add_ methods

Agree.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby TIG » Fri Jan 22, 2010 1:25 pm

thomthom wrote:
TIG wrote:But strangely not with add_arc which returns an ArcCurve ?

Nope, also returns an array.
TIG wrote:It would be unadvisable to change what the API does with these add_ methods

Agree.

Perhaps I meant to say, "... add_arc which says it returns an ArcCurve wrongly!" :roll:
0
TIG
User avatar
TIG 
Global Moderator
 

Re: New API doc - typos and questions

Postby thomthom » Fri Jan 22, 2010 1:29 pm

Sketchup.write_default
Sketchup.read_default
http://code.google.com/intl/nb/apis/ske ... te_default
http://code.google.com/intl/nb/apis/ske ... ad_default

[..] the string associated with a value within the specified sub-section section of a .INI file or registry (within the Software > @Last Software > SketchUp section).

Is it really stored under @Last any more?
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby TIG » Fri Jan 22, 2010 1:33 pm

thomthom wrote:Sketchup.write_default
Sketchup.read_default
http://code.google.com/intl/nb/apis/ske ... te_default
http://code.google.com/intl/nb/apis/ske ... ad_default

[..] the string associated with a value within the specified sub-section section of a .INI file or registry (within the Software > @Last Software > SketchUp section).

Is it really stored under @Last any more?

No, / Google / Sketchup 7 / etc... ;)
0
TIG
User avatar
TIG 
Global Moderator
 

Re: New API doc - typos and questions

Postby thomthom » Fri Jan 22, 2010 5:44 pm

Group.move!
http://code.google.com/intl/nb/apis/ske ... .html#move!

.move! moves to an absolute point. Worth noting in the manual.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby TIG » Fri Jan 22, 2010 6:05 pm

thomthom wrote:Group.move!
http://code.google.com/intl/nb/apis/ske ... .html#move!

.move! moves to an absolute point. Worth noting in the manual.

It doesn't seem to though - we've been testing it in another thread this afternoon and it seem that it moves relative to the transformation-origin NOT the model's ORIGIN - you first have to do a transformation by vector from where it is to the ORIGIN and then off again to the absolute point ?
0
Last edited by TIG on Sun Jan 24, 2010 12:07 pm, edited 1 time in total.
TIG
User avatar
TIG 
Global Moderator
 

Sketchup::AttributeDictionaries

Postby Dan Rathbun » Sat Jan 23, 2010 11:45 pm

Sketchup Ruby API wrote:AttributeDictionaries (Introduction )
http://code.google.com/apis/sketchup/docs/ourdoc/attributedictionaries.html
You access this class not by performing an AttributeDictionaries.new but by grabbing a handle from an existing entity.
... which is refering to Sketchup::Entity.attribute_dictionaries
http://code.google.com/apis/sketchup/docs/ourdoc/entity.html#attribute_dictionaries
Dan Rathbun wrote:http://forums.sketchucation.com/viewtopic.php?f=180&t=17047&p=208352#p208352
This only works for model objects (seems the model has an empty dictionary list by default.) Other entities will return nil (as they do not have an AttributeDictionaries object created until after an AttributeDictionary has been attached.); the API should note that first a script needs to create an AttributeDictionary object, before the AttributeDictionaries object can be 'grabbed' (because it does not yet exist.)

UPDATE (2010JAN23-DanRathbun) PC ver 7.1.6860:
REVISED (2010JAN28-DanRathbun):

In, SU ver 7.1, IF the Dynamic Components extension is turned OFF, the
entity.attribute_dictionaries method will appear to always return a Sketchup::AttributeDictionaries object for the entity, regardless of whether there are any member Sketchup::AttributeDictionary objects.

In addition, (if DCs are OFF,) all of the methods of the
Sketchup::AttributeDictionary class (except .name,) will no longer work!

The entity.attribute_dictionaries method was NOT changed in the previous release, as I thought. The method works as the API says it does, returning "nil if there are none." BUT the Dynamic Components extension must be enabled."
http://code.google.com/apis/sketchup/docs/ourdoc/entity.html#attribute_dictionaries

There is also no way to determine how many Dictionary objects, there are within an AttributeDictionaries collection (NoMethods: .size, .length, .count, or .empty?)
0
Last edited by Dan Rathbun on Thu Jan 28, 2010 11:00 am, edited 2 times in total.
User avatar
Dan Rathbun 
 

Re: Sketchup::AttributeDictionaries

Postby TIG » Sun Jan 24, 2010 12:12 pm

Dan Rathbun wrote:Ruby code can no longer use the nil return value in a conditional boolean statement.
There is also no way now to determine how many Dictionary objects, there are within an AttributeDictionaries collection (No Methods: .size, .length, .count, or .empty?)
There are no methods but several easy combos to do it...
You make an array of it and than get its length ?
len = AttributeDictionaries.to_a.length
or use 'each' ?
len = 0;AttributeDictionaries.each{|d|len += 1}
Where len is the AttributeDictionaries length ?
0
TIG
User avatar
TIG 
Global Moderator
 

Re: New API doc - typos and questions

Postby thomthom » Sun Jan 24, 2010 12:21 pm

AttributeDictionaries.to_a.length works.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby thomthom » Sun Jan 24, 2010 3:15 pm

ComponentInstance.explode
http://code.google.com/apis/sketchup/do ... ml#explode

Code example is irrelevant - doesn't show the use of .explode.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby thomthom » Wed Jan 27, 2010 10:39 am

RenderingOptions
http://code.google.com/intl/nb/apis/ske ... tions.html

# FogColor
# FogDensity
# FogEnd
# FogStart
# FogType
# FogUseBkColor

Bold entries returns nil.


The RenderingOptions I get when I iterate the collection is:


BackgroundColor
BandColor
ConstructionColor
DepthQueWidth
DisplayColorByLayer
DisplayDims
DisplayFog
DisplayInstanceAxes
DisplaySketchAxes
DisplayText
DisplayWatermarks
DrawDepthQue
DrawGround
DrawHidden
DrawHorizon
DrawLineEnds
DrawProfilesOnly
DrawSilhouettes
DrawUnderground
EdgeColorMode
EdgeDisplayMode
EdgeType
ExtendLines
FaceBackColor
FaceColorMode
FaceFrontColor
FogColor
FogEndDist
FogStartDist
FogUseBkColor
ForegroundColor
GroundColor
GroundTransparency
HideConstructionGeometry
HighlightColor
HorizonColor
InactiveHidden
InstanceHidden
JitterEdges
LineEndWidth
LineExtension
LockedColor
MaterialTransparency
ModelTransparency
RenderMode
SectionActiveColor
SectionCutWidth
SectionDefaultCutColor
SectionInactiveColor
ShowViewName
SilhouetteWidth
SkyColor
Texture
TransparencySort



If the differences is due to changes between SU version I hope the docs will say when they where removed instead of removing them from the manual. Good to know the history.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby chrisglasier » Thu Jan 28, 2010 4:26 am

Probably picked up before but I just noticed it. So just in case ...

Drawingelement.visible=SketchUp 6.0+
The visible= method is used to set the visible status for an element. This method performs an opposite function to the hidden= method.
Arguments:
visibility true if you want to hide the element, false if not
Returns:
status true if the element has been hidden, false if the element has not been hidden.
0
User avatar
chrisglasier 
PluginStore Author
PluginStore Author
 

Sketchup::AttributeDictionaries (Revised)

Postby Dan Rathbun » Thu Jan 28, 2010 10:06 am


My previous post on
Sketchup::AttributeDictionaries has been REVISED See the original post:
http://forums.sketchucation.com/posting.php?mode=reply&f=180&t=17047#pr218516
0
User avatar
Dan Rathbun 
 

Re: New API doc - typos and questions

Postby thomthom » Thu Jan 28, 2010 11:32 am

Layer.page_behavior
http://code.google.com/intl/nb/apis/ske ... e_behavior

Only lists two flags:
# LAYER_VISIBLE_BY_DEFAULT 0x0000,
# LAYER_HIDDEN_BY_DEFAULT 0x0001.


But Layer.page_behavior= lists other constants.
http://code.google.com/intl/nb/apis/ske ... _behavior=
* LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES: 0x0000,
* LAYER_IS_VISIBLE_ON_NEW_PAGES: 0x0010,
* LAYER_IS_HIDDEN_ON_NEW_PAGES: 0x0020.


Meaning the constants in the getter should be the same for the setter.

LAYER_VISIBLE_BY_DEFAULT: 0x0000
LAYER_USES_DEFAULT_VISIBILITY_ON_NEW_PAGES: 0x0000
LAYER_HIDDEN_BY_DEFAULT: 0x0001
LAYER_IS_VISIBLE_ON_NEW_PAGES: 0x0010
LAYER_IS_HIDDEN_ON_NEW_PAGES: 0x0020

And .page_behavior can be any bitwise combination of these.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby thomthom » Thu Jan 28, 2010 12:48 pm

Layer.page_behavior=
http://code.google.com/intl/nb/apis/ske ... _behavior=
To create a layer which is only visible on a single page, you can set its page behavior flags to LAYER_HIDDEN_BY_DEFAULT | LAYER_IS_HIDDEN_ON_NEW_PAGES


When I used that to set the behaviour of a layer on a model I get an error message when I save saying that something was messed up and this is the result of SU fixing it:

Results of Validity Check.

The behavior for CLayer (178941) is not valid - fixed
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby thomthom » Fri Jan 29, 2010 9:57 pm

Tools.pop_tool
http://code.google.com/apis/sketchup/do ... l#pop_tool

Returns: tool
the last pushed Tool object.

I only get true or false.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Sketchup.load

Postby Dan Rathbun » Tue Feb 09, 2010 2:43 pm

Sketchup.load
http://code.google.com/apis/sketchup/docs/ourdoc/sketchup.html#load

The Sketchup.load method does NOT expose the wrap argument, so we can specify wrap=true for rbs scripts.

For some unknown reason, the Google team defeated, or just didn't pass the 2nd argument (wrap) on to the aliased standard load, when they overrode it to handle rbs decrypting.

Please fix this!
_
0
Last edited by Dan Rathbun on Tue Feb 23, 2010 7:34 am, edited 4 times in total.
User avatar
Dan Rathbun 
 

Re: New API doc - typos and questions

Postby thomthom » Thu Feb 18, 2010 10:45 pm

WebDialog
http://code.google.com/apis/sketchup/do ... ialog.html

The Ruby WebDialog class allows you to create and interact with DHTML dialog boxes from Ruby. This is the best way to generate complex, embedded UIs inside SketchUp, but it does generally require HTML and Javascript expertise.

If your goal is to simply display a website to your users, consider using UI.getURL, which will show them a web page in their default browser rather than inside a dialog in SketchUp.

See this blog post for a detailed, step-by-step example: http://sketchupapi.blogspot.com/2008/02/sharing-data-between-sketchup-ruby-and.html


No such thing as UI.getURL. But there is UI.openURL

URL not marked up as a clickable link.
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

UI::WebDialog maximize

Postby Dan Rathbun » Mon Feb 22, 2010 6:10 pm

UI::WebDialog
http://code.google.com/apis/sketchup/docs/ourdoc/webdialog.html

Limiting the WebDialog Size and setting :resizable=false still allows MSIE window to have a working Maximize button on the captionbar. Clicking it maximizes the dialog (which should not be so.) The 'Size' option in the SystemMenu dropdown is greyed, as it should be, 'Maximize' in the menu is also active.

opts = Hash.new
# other options set
opts[:resizable] = false
dlg=UI::WebDialog.new( opts )
dlg.min_height = 100
dlg.max_height = 100
dlg.min_width = 200
dlg.max_width = 200
dlg.set_size(200,100)
dlg.show

_
0
User avatar
Dan Rathbun 
 

UI::WebDialog.write_image

Postby Dan Rathbun » Tue Feb 23, 2010 9:25 am

UI::WebDialog.write_image
http://code.google.com/apis/sketchup/docs/ourdoc/webdialog.html#write_image

Sketchup Ruby API wrote:The write_image method is used to grab a portion of the screen and save the image to the given file path.
Arguments:
image_path______The destination path of the saved image.
top_left_x
______The x coordinate of the upper left
__________________ corner of the region to grab.
top_left_y
______The x coordinate of the upper left
__________________ corner of the region to grab.
bottom_right_x
__The x coordinate of the lower right
__________________ corner of the region to grab.
bottom_right_y
__The x coordinate of the lower right corner
__________________ of the region to grab.
(1) The y coordinate arguments should read 'y' and not 'x'.

(2) The coordinates are relative (in the curent implementation,) to the origin of the webdialog's client area, not the screen origin.

(3) The top_left_x and top_left_y arguments APPEAR to work (and also default to 0,0 of the client area.)
BUG: The bottom_right_x and bottom_right_y arguments SEEM to always get set to top_left_x+clientareawidth and top_right_y+clientareaheight. Changing (specifying) these 4th and 5th arguments SEEMS to have no effect (at least on PC.)

(4) So.. although omitted from the API, only the 1st argument is necessary. Simply specifying a file (of the imagetype desired,) produces an image of the WebDialog client area, by default.


FUTURE:

(a) It is more intuitive, if the 4th and 5th arguments are just width and height offsets from the top_x and top_y (respectively.)

(b) I would like a 6th argument origin which would need to default to 'client', with the optional setting 'screen' so we can grab an image of the entire WebDialog (including frame and captionbar, etc.)
  • The top_x and top_y arguments should then default to the WebDialog's topleft xy screen position.
  • The 4th and 5th arguments should be width and height offsets, from the 2nd and 3rd arguments; and should default to the WebDialogs entire window width and height.
  • Coders should be able to increase the grabarea to perhaps include portions of other windows on the screen (which may be other dialogs or part of the Sketchup viewport. This may be for tutorial use or to show a result in SU, given a setting in a webdialog (such as when reporting a bug to a plugin developer.)
(c) Because WebDialogs, are movable, and often resizable, it would be good to have WebDialog instance methods to get the current screen position, current total size, current client size as two-element arrays, which can be used to pass arguments into write_image or any other method.

UPDATE: Just noticed that there are two undocumented methods that can satisfy the need for current total webdialog size. See my next post...
_
0
Last edited by Dan Rathbun on Mon Mar 08, 2010 10:48 am, edited 2 times in total.
User avatar
Dan Rathbun 
 

Re: New API doc - typos and questions

Postby thomthom » Wed Feb 24, 2010 7:03 pm

0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

UI::WebDialog - undocumented methods

Postby Dan Rathbun » Mon Mar 08, 2010 10:47 am

UI::WebDialog
http://code.google.com/apis/sketchup/docs/ourdoc/webdialog.html

The following methods need to be documented:

last_height
last_height=
last_width
last_width=


We are also still wishing to know what the extra Mac parameter for WebDialog.new is for, ie:
:mac_only_use_nswindow = boolean
What's the difference? ... and what's the default?
0
User avatar
Dan Rathbun 
 

API - Release Notes webpage error

Postby Dan Rathbun » Mon Mar 08, 2010 11:01 am

API - Release Notes webpage error
http://code.google.com/apis/sketchup/docs/releases.html

The H2 Heading "What's new in SketchUp 7" is not displayed as a H2 heading.

The error is caused by a missing '>' (greaterthan character) on the end of the preceeding <P> element closing tag, which is now: '</P'
ie, snippit from current HTML source (line 378):

<p class="post">&nbsp;</p

<h2>What's new in SketchUp 7</h2>
0
User avatar
Dan Rathbun 
 

Re: New API doc - typos and questions

Postby cjthompson » Wed Mar 10, 2010 9:54 pm

The "View" documentation page is almost completely blocked by the user comments section:

view_documentation.JPG


EDIT: Fixed.
0
Last edited by cjthompson on Thu Mar 11, 2010 2:07 pm, edited 1 time in total.

cjthompson 
 

Re: New API doc - typos and questions

Postby thomthom » Wed Mar 10, 2010 10:24 pm

whoa! we can post comments to the API doc now?!? whoppie!
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby ScottLininger » Wed Mar 10, 2010 10:36 pm

Yes, you can finally comment directly in the API docs (scroll to the bottom of most of the pages). Hopefully this will help the community share their insights into the API.

We are still working through the list of comments from this thread, so don't feel as if you must copy and paste your (excellent) feedback into the site. But you can if you want to. :)

Cheers,
0
- Scott Lininger
SketchUp Software Engineer
Have you visited the Ruby API Docs?
User avatar
ScottLininger 
SketchUp Team
SketchUp Team
 

Re: New API doc - typos and questions

Postby thomthom » Wed Mar 10, 2010 10:39 pm

Thanks Scott.
Is it better that we post new comments in the actual APi docs now?

ScottLininger wrote:so don't feel as if you must copy and paste your (excellent) feedback into the site. But you can if you want to. :)
I expect I'll put down a couple of notes on some of the key issues/gotchas,
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby ScottLininger » Wed Mar 10, 2010 10:47 pm

New notes should be posted directly to the api site. That way folks visiting the docs can see them immediately and can vote on the most helpful ones. As soon as we close out the issues in this thread, I will remove it from the forums.

:)
0
- Scott Lininger
SketchUp Software Engineer
Have you visited the Ruby API Docs?
User avatar
ScottLininger 
SketchUp Team
SketchUp Team
 

Re: New API doc - typos and questions

Postby thomthom » Wed Mar 10, 2010 10:56 pm

Eeexcellent!
0
Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
User avatar
thomthom 
PluginStore Author
PluginStore Author
 

Re: New API doc - typos and questions

Postby Dan Rathbun » Thu Mar 11, 2010 8:48 am

ScottLininger wrote:As soon as we close out the issues in this thread, I will remove it from the forums.

Don't you dare! This thread was started by ThomThom.

(1) It is more than just Errors to fix in the API docs.
  • It has ideas about making the API Docs themselves better.
  • It has some sample code postings.
  • It has some Example code (incl. one posted by you yourself Scott regarding Materials Observer,) that would be lost if the entire thread was to be deleted.
  • It has some suggestions for new API features (new methods, etc.) [that need to be moved to some other thread first; I think there's a hard to find API WishList somewhere.]
  • It has some Questions posed (some of which have never been answered,) whose answers are not really content that actually will go into the API Programmer's Reference, but are of interest.
(2) The Error postings are (to "we the customers",) a record of date and time, that an error or omission was logged.
  • As it was supposed to work, you were given Moderator rights, on the promise that you would MARK the Error posts, when they were fixed (bold Green with date.)
  • This would then give "we" the idea of the responce time the GSUPT in attending to these errors. Any customer, in any business sector should expect no less. Any Company or Business should expect to be judged on the basis of their past performance. (Unless of course, if your Toyota.) :roll:
  • I can see only a couple, of 'fixed marks' in the whole thread. YES, we understand your busy, etc., but Jim and others had offered to do the 'marking' for you. You, however, insisted that it would be easier for you to mark them yourself.
  • I feel the record should stand, and I don't care who marks them; but those fixed should be marked as such.
(3) I understand wanting to start fresh for the next API Revision, BUT...
  • If there was a Revision / Issue number on the API documents page(s) we would be able to correlate the Error threads HERE (on SCF,) with the doc pages over on code.google.com
  • THEN whenever you push an update, we can retire a thread here and start a new one for the next Revision.
(4) In order to help make this work better in the future:
  • We need to stop being lazy, and post ONLY Errors to the API Error threads.
  • Post API Suggestions to the API WishList (me guilty!) :oops:
  • Post API Docs Discussions to the API Comments thread Remus just started.
  • We need to discuss the issue of whether a feature or method behavior is or is not an error, in a separate thread (it's own or the Discussion thread,) and then only when the issue is identified as a error, post a 'action item' in the current API Error thread.
  • The current API Error thread's title needs to be marked [current].
  • Retired API Error threads should be re-labeled [closed].
  • (Each API Error thread start post should have a standardized list similar to the 6 bullet items above, along with the current API Docs Revision / Issue number at the top.)

@ThomThom: So, of course this means this whole post should be moved to the Discussion thread. (Everything from ThomThom's "whoa!" post on down.)
0
User avatar
Dan Rathbun 
 

SketchUcation One-Liner Adverts

by Ad Machine » 5 minutes ago



Ad Machine 
Robot
 

PreviousNext


 

Return to Developers' Forum

cron

Who is online

Users browsing this forum: ftake and 4 guests

Visit our sponsors: