New API doc - typos and questions
-
A TEMPORARY fix for dealing with the differing formats of color integers.
Adds 4 methods to Integer (and subclasses Bignum and Fixnum.)
Get it in the main Ruby Discussion forum, thread:
[Ruby Extension] for Sketchup color integers -
PickHelper.path_at
PickHelper.depth_at
PickHelper.path_at
PickHelper.transformation_at
All these are described as index 1 being the root element. But that's not in my experience. I was usingPickHelper.path_atandPickHelper.transformation_atfor one of my scripts where I was drilling down through groups/components. When usingPickHelper.transformation_at(1)to get the global positions I would getnilhalf the time.PickHelper.transformation_at(0)worked instead. -
PolygonMesh.uv_at
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/polygonmesh.html#uv_at
There are two arguments:
PolygonMesh.uv_at(int_index, bool_front)PolygonMesh.uvs
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/polygonmesh.html#uvs
This requires a boolean value as argument.
truereturns front UV data set.
falsereturns back data set. -
PolygonMesh.add_polygon
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/polygonmesh.html#add_polygonI can't seem to add points like the example does.
Instead, I must first add each point using
PolygonMesh.add_pointand then providePolygonMesh.add_polygonwith index values that refers to the points.In general this
PolygonMeshseem to have many errors in the description of the methods, arguments and usage. Recommend a closer revising of this section. -
Entities.fill_from_mesh
http://code.google.com/apis/sketchup/docs/ourdoc/entities.html#fill_from_meshsmooth_flagsdoes not default to 0. Seems to default to 12 (soft and smooth)
weld_vertices- what does this really do? I can't see any difference in the resulting geometry. -
Entities.add_faces_from_mesh
http://code.google.com/apis/sketchup/docs/ourdoc/entities.html#add_faces_from_mesh@unknownuser said:
Returns:
faces
an array of Face objects if successfulIn my tests it returns 0 - not an array.
-
@thomthom said:
PolygonMesh.add_polygon
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/polygonmesh.html#add_polygonI can't seem to add points like the example does.
Instead, I must first add each point using
PolygonMesh.add_pointand then providePolygonMesh.add_polygonwith index values that refers to the points.That's weird. It works just fine for me.
-
Can you post a quick example?
-
Ah! That's what I tried. Using a normal Array as substitute of Point3D. How odd that this method suddenly don't let you interchange arrays and Point3Ds...

-
now I see why it doesn't work with arrays:
mesh = Geom;;PolygonMesh.new mesh.add_point([0,0,0]) mesh.add_point([1,0,0]) mesh.add_point([1,1,0]) mesh.add_point([0,1,0]) mesh.add_polygon([1,2,3,4]) Sketchup.active_model.entities.add_faces_from_mesh(mesh)you can use an array to index the points directly (for some reason, starting at 1)!
Can you test whether this is faster than point_at?
-
I will see over the weekend. I found some slowness by having to use
.add_pointand then later use.point_indexto build the polygons. building my own hash of Point3Ds and the index I got fromadd_pointwas faster.Hopefully adding points in the
add_polygonmethods directly will be faster.Oh yea - the index start at 1 is annoying as well.
-
I think I found what your problem is.
This works:
mesh = Geom;;PolygonMesh.new mesh.add_polygon(Geom;;Point3d.new(0,0,0),Geom;;Point3d.new(1,0,0),Geom;;Point3d.new(1,1,0),Geom;;Point3d.new(0,1,0)) Sketchup.active_model.entities.add_faces_from_mesh(mesh)This doesn't:
mesh = Geom;;PolygonMesh.new mesh.add_polygon([0,0,0],[1,0,0],[1,1,0],[0,1,0]) Sketchup.active_model.entities.add_faces_from_mesh(mesh)EDIT:
You can put the arrays inside of another array to get it to work:mesh = Geom;;PolygonMesh.new mesh.add_polygon([[0,0,0],[1,0,0],[1,1,0],[0,1,0]]) #this works Sketchup.active_model.entities.add_faces_from_mesh(mesh) -
Using
.add_pointsfirst and using index references for.add_polygonseems faster than usingPoint3d's. -
General
Class and method names could be turned into links
to the appropriate API page, for ease of navigation.Sentences should begin with a capital letter and end with
a period (etc). Phrases should not.If a modifying phrase is used at the end of a sentence,
a comma should be added for clarity:the name of the attribute dictionary if successful dictionary,Specific
http://code.google.com/apis/sketchup/docs/ourdoc/animation.html
animation -> animation ruby -> Ruby ... to pause, only certain ... pause;http://code.google.com/apis/sketchup/docs/ourdoc/appobserver.html
... a 2nd model ... second Useful for if you need ... --- This is useful if you need ...http://code.google.com/apis/sketchup/docs/ourdoc/array.html
The SketchUp Array class adds ... --- SketchUp adds ... Specifically, it contains methods ... --- Specifically, it adds methods ... ... arrays of 3 coordinate ... three ... vector. it returns ... Ithttp://code.google.com/apis/sketchup/docs/ourdoc/attributedictionaries.html
... all of the attributes dictionaries. attributehttp://code.google.com/apis/sketchup/docs/ourdoc/attributedictionary.html
Although the page does not discuss this, setting a
custom attribute with a key that contains upper-case
letters does not work.The page does not indicate how to set an attribute
(eg, '=LenX+20') to be used as an expression.In the entry for AttributeDictionary.each, the "value"
argument is being formatted as part of the description
for the "key" argument.Ditto for AttributeDictionary.each_pair.
-
On the API docs pages, in the left nav column, whenever you have made a link bold, the cursor changes to a caret instead of the hand cursor. I suspect it's the <b> and </b> tags doing this.
example from the API HTML source:<li><a href="/apis/..../model.html"><b>Model</b></a></li>Perhaps if the bold tags were outside the anchor tags?
<li><b><a href="/apis/..../model.html">Model</a></b></li>If the css specifically set a tags such:
a {cursor:hand}the nested bold tags should inherit their parent's cursor setting (according to the css reference.) -
The bold tag should not interfere with the cursor regardless if it's inside or outside the link element. It's default cursor property is
inherit. It's either some override or other quirk. Could be a browser quirk.
In FF3.5 I don't see this behaviour. What browser do you use? -
@thomthom said:
In FF3.5 I don't see this behaviour. What browser do you use?
Currently still using MSIE 7
P.S.: at MSDN it indicates if the cursor is not explicitly set, the browser decides; so it may indeed be a MSIE quirk. (I have MSIE 8 and FF on the computer in another room, I'll check and see how the site looks on that machine later today.)
-
-
@dan rathbun said:
Point3d.<
http://code.google.com/apis/sketchup/docs/ourdoc/point3d.html#%3C@unknownuser said:
Returns:
true if the point2 is closer to the origin.Following the example, I get he opposite result.
The Returns: should probably read,
"*true* if the point2 is **farther** from the origin; *false* if the point2 is closer to the origin (than the receiver.)And the anchor link http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/point3d.html#%3C doesn't work for me under FF3.5. Might be due to the < character.
-
@thomthom said:
And the anchor link http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/point3d.html#%3C doesn't work for me under FF3.5. Might be due to the < character.
I suggest the Google webmeister change the anchor to "#lessthan" instead of "#%3C".
I would suspect that links to - and + methods may have problems with some browsers as well.
Advertisement