Posted by
mstram on
Apr 02, 2009; 8:52pm
URL: https://forum.world.st/New-Cobalt-Release-for-20090330-tp127574p127580.html
John,
First, I can't seem to close the 'Annotator' "entry panel" at the bottom of the Squeak window.
This in turn is hiding the "blue ball", so I'm launching Cobalt by opening the Objects menu.
Second, still having problems importing objects. I've installed Sketchup v7.0.10247, and have exported some skp files to kmz format.
Here's one of them (a Rubik cube)
http://tinyurl.com/cmt23t When trying to use the Add Object menu, the errors are :
http://sketchup.google.com/3dwarehouse/download?mid=4e9447dfd2b56527fc7a8e315c9ddc8&rtyp=s6&fn=Rubik%27s+Cube+-+Detailed&ctyp=other&prevstart=0&ts=1218308681000=========================================================
Error: Instances of UndefinedObject are not indexable
2 April 2009 4:41:30 pm
VM: Win32 - a SmalltalkImage
Image: Croquet1.0beta [latest update: #2]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir D:\Squeak3.10.2-7179\Cobalt\20090330\cob
Trusted Dir D:\Squeak3.10.2-7179\Cobalt\20090330\cob\Mike
Untrusted Dir C:\My Squeak\Mike
UndefinedObject(Object)>>error:
Receiver: nil
Arguments and temporary variables:
aString: 'Instances of UndefinedObject are not indexable'
Receiver's instance variables:
nil
UndefinedObject(Object)>>errorNotIndexable
Receiver: nil
Arguments and temporary variables:
Receiver's instance variables:
nil
UndefinedObject(Object)>>at:
Receiver: nil
Arguments and temporary variables:
index: 2
Receiver's instance variables:
nil
[] in CoDOMTriangle(CoDOMShapes)>>buildIndices {[:i | tempVertex at: count put: (vertexBuffer at: (indices at: i) ...]}
Arguments and temporary variables:
tempNormal: a Vector3Array(a Vector3(1.0 -0.0 -0.0) a Vector3(0.0 0.0 0.0) a Ve...etc...
tempTexcoord: a Vector2Array(a Vector2(0.0 0.0) a Vector2(0.0 0.0) a Vector2(0....etc...
tempVertex: a Vector3Array(a Vector3(32.05359649658203 33.4033317565918 0.0) a ...etc...
count: 1
i: 1
j: nil
jLimiT: nil
--- The full stack ---
UndefinedObject(Object)>>error:
UndefinedObject(Object)>>errorNotIndexable
UndefinedObject(Object)>>at:
[] in CoDOMTriangle(CoDOMShapes)>>buildIndices {[:i | tempVertex at: count put: (vertexBuffer at: (indices at: i) ...]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SmallInteger(Number)>>to:by:do:
CoDOMTriangle(CoDOMShapes)>>buildIndices
CoDOMMesh>>parseTriangle:
[] in CoDOMMesh>>parseAll: {[:tri | haveTriangle := true. haveLine := false. Transcript show: 'Parsin...]}
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value: each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
CoDOMMesh>>parseAll:
[] in CoDOMGeometry>>parseMesh: {[:m | mesh := CoDOMMesh new. mesh rootFrame: rootFrame. mesh matList: mat...]}
XMLElement>>tagsNamed:do:
CoDOMGeometry>>parseMesh:
[] in CoColladaDOMImporter>>parseGeometry: {[:mesh | m := geometry parseMesh: mesh. m objectName: geometry coName. li...]}
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value: each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
CoColladaDOMImporter>>parseGeometry:
[] in CoColladaDOMImporter>>parseFile: {[:geo | bar value: indGeoCount / geoCount * 100 + 70. self parseGeometry: ...]}
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value: each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
[] in XMLElement(XMLNode)>>tagsNamed:do: {[:each | each tagsNamed: aSymbol do: aOneArgumentBlock]}
[] in XMLElement(XMLNodeWithElements)>>elementsDo: {[:each | aBlock value: each]}
OrderedCollection>>do:
XMLElement(XMLNodeWithElements)>>elementsDo:
XMLElement(XMLNode)>>tagsNamed:do:
XMLElement>>tagsNamed:do:
[] in CoColladaDOMImporter>>parseFile: {[:bar | aXMLElements tagsNamed: #asset do: [:ass | rootFrame parseAsset...]}
[] in CProgressBar>>displayProgress:at:from:to:during: {[result := workBlock value: [:newValue | self value: newValue. ...]}
BlockContext>>on:do:
[] in CProgressBar>>displayProgress:at:from:to:during: {[[result := workBlock value: [:newValue | self value: newValue. ...]}
BlockContext>>ensure:
CProgressBar>>displayProgress:at:from:to:during:
CProgressBar class>>displayProgress:at:from:to:during:
CoColladaDOMImporter>>parseFile:
CoColladaDOMImporter>>buildFrame
CobaltMenuProject(CroquetMenuProject)>>actionImportKMZ:
CobaltMenuProject>>actionAddModel
AsyncScriptMessageSend(ScriptMessageSend)>>synchronousValueWithArguments:event:
...etc...
=========================================================
As for the "drive A: thing .."
For now, I just stuck a random disk in drive A: ;)
I don't know the nitty-gritty of the programming, but programs like windows explorer, or even the 'open file dialog' for any windows program ... when you navigate to 'my computer' (i.e. an overall view of all drives), the drive letters ARE displayed, but the drives are not actually read until you doubleclick / press enter on a drive letter. It seems that the first time the 'select a model' dialog is run, it is by default selecting the first drive in the list (A:) and trying to read it.
Is it possible for that dialog to be opened without any drive being selected? Or better yet, either a) have the drive/directory that the program was launched from be displayed or b) have an entry under the Cobalt/general preferences for file locations and start from there (the default which would be the program's launch directory).
btw all the above is standard in most every other program ;)
Mike