New API doc - typos and questions
-
From Didier's post:
http://www.sketchucation.com/forums/scf/viewtopic.php?f=180&t=18488
Need to add an FAQ for getting to installation directory of SU, for folks trying to build installers (and find out a mac equivalent.)
-
BoundingBox.valid?
text says
status true if the bounding box is valid (not empty), false if it is not valid (empty)
but the code example has it exactly the opposite:
bbox = Sketchup.active_model.bounds status = bbox.valid? if (status) # If true, bounding box is empty. else # If false, bounding box contains entities. end
-
The introduction to RenderingOptions class states:
@unknownuser said:
The majority of the rendering information returned exists in the Model Info > Display section of SketchUp.
There is no longer a Model Info > Distplay section of SketchUp. I suppose it should say its in the styles inspector or something like that.
http://code.google.com/apis/sketchup/docs/ourdoc/renderingoptions.html#introduction
Also, the API doesn't list these:
DisplayQueWidth
DisplayDims
DisplaySketchAxes
DisplayText
DisplayWatermarks
DrawDepthQue
DrawLineEnds
DrawProfilesOnly
DrawUnderground
EdgeType
FogEndDist*- listed as FogEnd in the API*
FogStartDist - listed as FogStart in the API
HideConstructionGeometry
LineEndWidth
LockedColor
SectionTransparencyMode
ShowViewNameAnd the API lists these which don't appear to be valid:
DisplayFogEdges
FogDensity
FogEnd - appears to actually be FogEndDist
FogStart*- appears to actually be FogStartDist*
FogTypeI tried to be thorough, but perhaps I missed something. It might not be bad to double check my work
Chris
-
http://code.google.com/apis/sketchup/docs/ourdoc/tool.html#onReturn
the onReturn method is showing an example for onMouseLeave
-
http://code.google.com/apis/sketchup/docs/ourdoc/view.html#zoom_extents
Does not give an example of view.zoom_extents. It gives an example of view.zoom
-
ModelObserver.onExplode
http://code.google.com/apis/sketchup/docs/ourdoc/modelobserver.html#onExplode@unknownuser said:
The onExplode method is invoked whenever a component anywhere in this model is exploded. This is an easier way to watch explode events vs. attaching an InstanceObserver to every instance in the model.
The docs in
InstanceObserver
http://code.google.com/apis/sketchup/docs/ourdoc/instanceobserver.html doesn't mention any explode event. All though, I imagine there used to be.ModelObserver.onExplode
is new to SU7, and I'm sure there was an explode related event in SU6. But it's MIA atm. -
Face.position_material
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/face.html#position_materialDoesn't explain the difference between using 2,4,6 or 8 points.
-
Vector3d.samedirection?
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/vector3d.html#samedirection?@unknownuser said:
vector = Geom::Vector3d.new 0,0,1
vector2 = Geom::Vector3d.new 0,1,0
status = vector.sime_direction? vector2 -
Face.mesh
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/face.html#mesh@unknownuser said:
The mesh method creates a polygon mesh that represents the face. See the PolygonMesh class for more information.
Valid flags are:
* 0: Include PolygonMeshPoints, * 1: Include PolygonMeshUVQFront, * 2: Include PolygonMeshUVQBack, * 4: Include PolygonMeshNormals.
Add these numbers together to combine flags. A value of 5 will include all flags, for example.
No example given.
-
UVHelper.get_front_UVQ UVHelper.get_back_UVQ
http://code.google.com/intl/nb/apis/sketchup/docs/ourdoc/uvhelper.html@unknownuser said:
a Point3d containing the UV coordinates where the X value is the U value, the Y value is the V value and the Z value is a Q value (which is not used).
I does appear that the Q value is used. At least when you have a warped texture. (Texture mapped not as a rectangle or parallelogram.) See this thread for further details and sample data: http://www.sketchucation.com/forums/scf/viewtopic.php?f=180&t=19041
-
And I'd also wish there was info about projected textures.
-
http://code.google.com/apis/sketchup/docs/ourdoc/entities.html#add_curve
the .add_curve method says it returns a Curve object. It does not. It returns an array of edges.
I would prefer that it returned the curve object. But that might break the backward compatibility if other scripts have had to work around this?
Chris
-
http://code.google.com/apis/sketchup/docs/ourdoc/webdialog.html#introduction
The Webdialog intro suggests using UI.getURL for opening a basic webpage instead of webdialogs. But there is no getURL method. It should be UI.openURL.
-
UI.inspector_names and UI.show_inspector missing "EntityInfo" Dialog.
UI.inspector_names ["Materials", "Components", "Styles", "Scenes", "Shadows", "Layers", "SoftenEdges", "Outliner", "Instructor", "Fog", "MatchPhoto"]
-
Vector3d.*
http://code.google.com/apis/sketchup/docs/ourdoc/vector3d.html#*The example never displays the * method.
Also, for all the manual examples, such as the Vector methods:
Vector3d.*
,Vector3d.
+,Vector3d.-
,Vector3d.<
It would be nice if they also said the result of the method.
Such as the.*
method would then be:vector = Geom;;Vector3d.new 1,0,0 vector2 = Geom;;Vector3d.new 0,1,0 vector3 = vector * vector2 # Returns [0,0,1]
Seeing the resulting value helps in understanding what it does.
-
Face.plane
http://code.google.com/apis/sketchup/docs/ourdoc/face.html#plane@unknownuser said:
The plane method is used to retrieve the plane of the face. See the Array class for information on how planes are stored.
It's unclear where this information is. I don't see it.
-
@thomthom said:
Face.plane
http://code.google.com/apis/sketchup/docs/ourdoc/face.html#plane@unknownuser said:
The plane method is used to retrieve the plane of the face. See the Array class for information on how planes are stored.
It's unclear where this information is. I don't see it.
From the Geom module:
The plane is returned as an Array of 4 numbers which are the coefficients of the plane equation Ax + By + Cz + D = 0.Along with this helpful tidbit:
NOTE: Lines and Planes are infinite. There are several good books on 3D math if you are new to the concepts of a line, plane, and vector.
But if you go back to your high-school geometry text book (or google "plane equation") you'll find something like this:
[a,b,c] will give a normal vector to the plane, and the normal distance from the origin is given by d / sqrt( a^2 + b^2 +c^2) -
Ah, it referred to the wrong module.
-
Tool.onSetCursor
http://code.google.com/apis/sketchup/docs/ourdoc/tool.html#onSetCursorIt says that it returns the
view
as an argument. When I do that I get anwrong number of arguments(0 for 1)
error. When I leave the argument out everything works.Another note;
@unknownuser said:
The onSetCursor method is called by SketchUp when the tool wants to set the cursor. If your tool needs to have more than one cursor, then you will need to implement this method, but if it only has one you can set the cursor in the activate method.
It says that
UI.set_cursor(id)
can be called from theactivate
method of the tool if you only have one cursor. When I try that the cursor briefly flickers then reverts back to the default arrow. -
I just want to take a second to thank Thomas for his diligence in finding and documenting these inconsistencies. It's really going to make life easier for a lot of folks. CB.
Advertisement