Jump to content

Kool Aid

Member
  • Posts

    559
  • Joined

  • Last visited

Posts posted by Kool Aid

  1. A proper parent child hierachy is still what's really needed.

    As long as it is proper (object-orientated, not hierarchical.)

    Today I added another item to my long list of disappointments regarding VectorScript documentation: I realised that Object Events are totally missing from VS Function Reference to Mere Mortals, ie. the version that ships (or, as in my case, does not ship) with the program.

    Among these is AddAssociation, which could be the beginning of a beautiful relationship.

    There is some nebulous documentation and an example:

    VectorWorks Developer pages

    However,

    CONST

    kOnDeleteDelete = 4; {Target object is deleted when owner is deleted.}

    kOnDeleteReset = 5; {Target object is reset when owner is deleted.}

    suggests that this association is interested only in deaths of its members.

    Otherwise, one's crank object could rotate the crankshaft and the crankshaftbone could be connected to the pistonbone of the V12.

  2. Sent to Surface? No sir, this was purely for artsy renderings wherein a row of duplicated bush symbols are not all exactly the same height, producing a much more natural look.

    Yes, a great idea, which I may incorporate into my tool, although the main workflow is that after the forest has been created, trees & shrubs are sent to surface. (I use it to create random tree covers as backdrops.)

  3. The tool seems to be stable in 010.

    Petri, I'll try to find out what the intent of the "Size to Wall Length" command is.

    By the way, is it convention to draw insulation IN PLAN?

    Typically, here in the home of the brave and land of the free, we draw insulation in sectional views.

    Wes

    In plan and in sections. Batt insulation (or the relevant substitute) shoud be able to defined as a wall style component, shown in plans and sections at least.

    Come on, Wes! I could easily simulate a wall incorporating my insulation tool. I could even use your wall style system, just make it better, as a matter of hours. But I can't get it to show IN SECTIONS.

  4. How would one go about scripting such a thing?

    Usage in example:

    Ten image prop symbols of a bush are placed at Z0. The user selects the symbols, executes the script, and is asked for a minimum and maximum Z height along with a direction constraint (lower only for example). The script then randomly moves the symbols up or down on the Z plane.

    Shouldn't the symbols be Sent to Surface? In the absence of a DTM? Ah-ha! Lower only?

    Whatever. I must investigate this in relation to my Forest Simulator.

    forestandtrees.png

  5. You are right it is probably the fact that it is trying to create stake objects that is the problem.

    I don't think it would have a problem with say 650000 3D loci.

    Well, Dexie, try this:

    PROCEDURE ImportDTMData;  { ? Petri Sakkinen 2009 } 
    CONST 
    comma = ',';
    
    VAR 
    data, inputfile : STRING; 
    x, y, z : REAL; 
    commaPos : INTEGER; 
    
    BEGIN
    GETFILE(inputfile); 
    IF NOT(DIDCANCEL) THEN BEGIN 
    	WHILE NOT EOF(inputfile) DO BEGIN 
    		READLN(data); 
    
    		commaPos := POS(comma, data); 
    		x := STR2NUM(COPY(data, 1, commaPos-1)); 
    		DELETE(data, 1, commaPos); 
    
    		commaPos := POS(comma, data); 
    		y := STR2NUM(COPY(data, 1, commaPos-1)); 
    		DELETE(data, 1, commaPos); 
    
    		z := STR2NUM(data); 
    
    		LOCUS3D(x, y, z); 
    	END;	
    	CLOSE(inputfile); 
    END; 
    END;
    
    RUN(ImportDTMData);
    

    If it is slow, you might use a text editor to replace commas with tabs and then use this:

    PROCEDURE ImportDTMData;  { ? Petri Sakkinen 2009 } 
    
    VAR 
    inputfile : STRING; 
    x, y, z : REAL; 
    
    BEGIN
    GETFILE(inputfile); 
    IF NOT(DIDCANCEL) THEN BEGIN 
    	WHILE NOT EOF(inputfile) DO BEGIN 
    		READLN(x, y, z); 
    		LOCUS3D(x, y, z); 
    	END;	
    	CLOSE(inputfile); 
    END; 
    END;
    
    RUN(ImportDTMData);
    

    Tab-separated data files are preferred.

    For filtering/reducing number of points, add a READLN; after LOCUS3D(); so every second line is skipped. (The last point is not created then, though, but doing that manually is not a huge task!)

    EDIT

    Actually, the extra READLN; could be before the actual READLN(); because then you don't need to go to the end of the file to find the z-value!

  6. As you may know, AIR is a technology provided by Adobe, and it's becoming more and more widespread. It's used by FedEx, eBay, the New York Times, and other mega companies for a variety of web applications (learn more at http://www.adobe.com/products/air/).

    OK. If we'd follow this lead, we'd dump VectorWorks and move to AutoCAD, used by megacompanies of our fields.

    I'm not even remotely interested who has created the system or who are using it. If anything, the word ?Adobe? rings warning bells: just the other week I received their latest which told that Acrobat solves 99% of problems in businesses.

  7. My mistake its 4Km x 4Km
    Phew. Thought my brain had suddenly forgotten basic maths. Still trying to work out how KA gets 16.25Km2. Thinks he is the one for a basic maths lesson because my calc also gives just over 4Km2 for 650000 points too.

    4 x 4 = 16.

    km x km = km2

    End of lesson 2.

  8. You are right it is probably the fact that it is trying to create stake objects that is the problem.

    I don't think it would have a problem with say 650000 3D loci.

    Don't forget that the number of triangles in the TIN/DTM grows faster than the number of definition points.

    EDIT

    In our grid situation, not faster, but proportionally. Doubling the grid means reducing the 3D-poly count by half.

    My original claim may well be incorrect. Have to think about it.

×
×
  • Create New...