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_at
andPickHelper.transformation_at
for one of my scripts where I was drilling down through groups/components. When usingPickHelper.transformation_at(1)
to get the global positions I would getnil
half the time.PickHelper.transformation_at(0)
worked instead.http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/pickhelper.html
-
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.
true
returns front UV data set.
false
returns 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_point
and then providePolygonMesh.add_polygon
with index values that refers to the points.In general this
PolygonMesh
seem 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_flags
does 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_point
and then providePolygonMesh.add_polygon
with 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_point
and then later use.point_index
to build the polygons. building my own hash of Point3Ds and the index I got fromadd_point
was faster.Hopefully adding points in the
add_polygon
methods 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_points
first and using index references for.add_polygon
seems 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 ... It
http://code.google.com/apis/sketchup/docs/ourdoc/attributedictionaries.html
... all of the attributes dictionaries. attribute
http://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