Jump to content

MullinRJ

Member
  • Posts

    1,987
  • Joined

  • Last visited

Posts posted by MullinRJ

  1. Sorry guys,

    No need to be discrete, my website is second to last on the list of things to be updated. (The manual? is dead last.) I've spent a lot of time recently updating the software to remove some long standing and elusive bugs. The results were good for the software, bad for the website.

    If you'd like to try the Reshaper Demo for a month, free of charge, please email me at info@SiriusSolutions.net and include the last six digits of your VW serial number, and please specify what version of VW you want this for (VW 12, 2008 or 2009). I'll send you a DEMO KEY and a copy of Reshaper.

    Though AndiACD is right, Reshaper does help you position and locate objects in ways beyond the OIP's scope, especially 3D objects, it is not yet optimized for working with objects inside walls, partly because I've had no requests to do so. Reshaper's evolution is shaped by feedback from the user base. The Azimuth Mode that Bruce Robertson mentioned above was added solely at his request.

    I am always available and happy to answer questions. Please feel free to write at any time.

    Raymond

  2. Hi Zoli,

    ???ValidNumStr() has been around since the dawn of time, or at least as long as MiniCad has been around.

    ???See: http://scs-inc.us/Other/VSFR/PHP/main.php?name=ValidNumStr for a description.

    ???A copy of the VS Function Reference should be in your application folder as well. Copy the following path to your browser:

    file:///Applications/VectorWorks%202008/VWHelp/VectorScript%20Reference/VSFunctionReference.html

    and then search for "ValidNumStr".

    ???I keep an alias of the VSFuncRef on my Dock for fast reference.

    Raymond

  3. Honestly, I wasn't being negative, but rather adding to the tally that if the default settings were remembered by all tools and preferences then one could also save on the time writing to the techboard to complain ... I mean suggest better alternatives.

    There's another minute of my life I'll never get back, but hey, I like the techboard, too.

    Thanks, AndiACD. I'm very glad you like Reshaper.

    Raymond

  4. Hi Charles,

    ???Long time, no chat. As someone recently inquired of me, I hope you are in fine fettle.

    What do you call (MenuChoice=1)..."boolean expression" or somesuch...

    Yeah, I've gotten frugal with code in my old age. For simple expressions I often put them inline with the calling function. As long as the function doesn't return a value in that location you can do it this way.

    This code snippet:

    Boo := MenuChoice = 1;???{ Boo is TRUE if MenuChoice equals 1, FALSE otherwise }

    SetItemEnable(ChkBx2, Boo);

    is the same as:

    SetItemEnable(ChkBx2, MenuChoice=1);

    You'll also see some people write:

    if (MenuChoice=1) then Boo := True

    else Boo := False;

    SetItemEnable(ChkBx2, Boo);

    which also works and is very readable, but I tend to go for minimalism so I can see more code on one page. My scripts tend to be getting bigger so I'm trying to make them smaller every chance I get. The VS compiler is extremely robust and will handle a very complex expression without flinching.

    Here's another favorite of mine that I've been using the last few years that replaces a simple IF/Then/Else statement with an inline expression.

    function iif (A :Boolean; B, C :Integer) : Integer;???{ I got the function name from FoxBASE many years ago }

    { if A is true, return the value in B else return the value in C. }

    Begin

    ???if A then iif := B else iif := C;

    End;???{ iif }

    With it you can say things like:

    HorOffset := Xoriginal + iif(LeftView, X1, X2);

    if LeftView is true, then HorOffset equals Xoriginal + X1

    else HorOffset equals Xoriginal + X2

    I also have iifr, iifs & iifv functions for Real, String and Vector expressions respectively.

    Enjoy,

    Raymond

  5. Tried to post this earlier, but the TechBoard was non-responsive.

    Max,

    ???You can read your menu with: GetSelChoice(MenuID, 0, Mode, S);

    and set (or clear) your check box with: SetItemEnable(CkBoxID, SomeBooleanValue);

    ???Are you using Modern Dialogs or Classic? The following was written assuming Modern Dialogs, but these two commands work in both.

    Example:

    { In your dialog handler routine }

    CONST

    ???MenuID = 20;

    ???ChkBx1 = 31;

    ???ChkBx2 = 32;

    VAR

    ???MenuChoice :Integer;

    ???MenuString :String;

    case item of

    ???SetupDialogC: begin

    ??????SetItemEnable(ChkBx1, True); { Starting value always checked }

    ??????GetSelChoice(MenuID, 0, MenuChoice, MenuString);

    ??????SetItemEnable(ChkBx2, (MenuChoice=1)); { Checked if Menu item is second in list (Modern Dialog), unchecked otherwise }

    ???end; ???{ Setup }

    ???{ item specific code goes below }

    ???MenuID: begin end;

    ???ChkBx1: begin end;

    ???ChkBx2: begin end;

    end; { case }

    Add similar code to your menu dialog item (20 in this example) to modify check boxes accordingly as things change.

    Raymond Mullin

    Vectorworks 2009 D/RW (User since MC+2.0)

    Intel macMINI / OS 10.4.11

  6. portamigra,

    ???You need to end your extrude before you start moving it about.

    As follows:

    BeginXtrd(0,a1);???????????{ RUNGS }

    ???Oval(0,0,1,1);

    EndXtrd;

    Rotate3D(90,0,0);????????{ Rotate about x-axis }

    Move3D(d1,a1/2,0.5);??{ Move for spacing }

    Duplicate(d1,0);???????????{ 2nd rung }

    The same applies to your third extrude:

    BeginXtrd(0,b1);??????????{ RAIL 2 }

    ???Rect(0,0,c1,1);

    EndXtrd;

    Move3D(0,a1-1,0);

    HTH,

    Raymond

  7. I'm not sure how you want your script to run, interactively or not, but it's not hard to cobble one together.

    The VS procedure Layer() will create a new design layer.

    Layer('New Layer Name');

    The VS function CreateLayer() will create a new layer and returns a handle to the new layer, which can be ignored if you only want to create them.

    LayerHandle := Layer('Another Layer Name', 1);?????????{ 1 = Design Layer / 2 = Sheet Layer }

    Each new layer you create will be on top of all other layers visually, so you may want to create new layers in the reverse order you want them displayed in the layer pop-up menu.

    Raymond

  8. Has anyone else noticed that SP3 is on the NNA site? Where's the fanfare? It's listed as having been posted on the 27th (2 days ago). Surely I can't be the only one who's found it.

    Raymond (T -1)

    macMINI 1.83 GHz / 2GB RAM / OSX 10.4.11

    VW 2008 D/RW SP3 (88670)

  9. On the newer Mac OS's, I have not gotten the good olde fashioned PostScript fonts to be seen by the software. I have had to translate all my favorites to TrueType format. It's a PITA, but it works.

    Raymond-2

  10. Hi Peter,

    ???You are calling Draw3DGlass twice when OpaqueGlass is TRUE, and once when it is FALSE. This is because your ELSE clause did not have a BEGIN and END encompassing the following 2 statements and only the next statement was included in your ELSE clause. The second Draw3DGlass was getting executed every time, even when OpaqueGlass was TRUE.

    Try this for your main body:

    BEGIN    {Main}
    	Width := PWIDTH_OF_WINDOW;
    Height := PHEIGHT_OF_WINDOW;
    	HeadHeight := PHEAD_HEIGHT;
    OpaqueGlass := POPAQUE_GLASS;
    
    {Set attributes}
    PushAttrs;
    FillFore(0,0,0);
    FillBack(65535, 65535, 65535);
    PenFore(0,0,0);
    PenBack(65535, 65535, 65535);
    PenPat(2);
    PenSize(1);
    
    IF OpaqueGlass THEN     { is the same as: IF (OpaqueGlass=True) THEN }
    	FillPat(1)
    ELSE
    	FillPat(0);
    
    Draw3DGlass;     { Only call this once }
    PopAttrs;
    END;
    RUN(Glass);
    

    HTH,

    Raymond

  11. No, not a bad idea and no offense taken. Silly me, I was being overly paranoid. Web crawlers are not avoidable so no harm has been done. I already get daily updates on ways to increase my manhood and places to buy name brand software for pennies on the dollar, and this month's special seems to be a run on luxury watches. At the moment I'm only getting a few a day, but last year it was dozens a day.

    While you're here, wanna try some free software?

    Raymond

  12. Not exactly. You can have the record with the field, but something has to stuff the data for you. The fields do not hold formulae, they are just containers to hold data. Actually, it's all STRING data, but the strings are formatted according to the defined type of the field.

    You will need to run a procedure in some way to identify the object(s) with the attached record and fill your field(s) accordingly - VectorScript, Menu Command, PIO.

    Now, if you design a custom tool to change the Line, it can stuff the data for you.

    HTH,

    Raymond

  13. Hi sketcher,

    Yes, the link is "siriussolutions DoT net" but change the "space DoT space" to a period "." and it should work. To try the demo, use the "info" email address on the website and send me the last 6 digits of your VW serial # and I'll email you the software and a DEMO KEY. The demo is free for 30 days.

    Thanks,

    Raymond

  14. Hi BLINK,

    Interesting problem. Were you starting from a scan or winging it freehand? I took the liberty to copy your picture into a VW file and trace over it. Though you can get the arcs to line up in theory, I agree it is a difficult task with the stock tools at hand. If you would like to try a DEMO of Reshaper I think you will find this is an easy task, though still tedious. Ask and you shall receive.

    Reshaper gives you the ability to anchor either endpoint while you edit an Arc's Sweep and/or Radius. If you draw an arc and one point is snapped to the previous object, you can edit the Arc repeatedly with Reshaper and Reshaper will leave that point fixed on the drawing so you will not have problems composing your 2D objects into a PolyLine.

    I was able to compose 83 Arcs & 5 lines all at once. The file and a screen shot are attached.

    Raymond

  15. Again, I was not able to reproduce your results, but I do see what you are talking about. Can you outline in more detail how you create the broken shape? More detail is better.

    Out of curiosity, why do you section your solids with NURBS surfaces? I have no idea if it is causing your problem, but I used a 45? Line and extruded it to a plane to make the cut. Try cutting your Angle with an Extruded Line and see if you get the same results.

    Raymond

  16. Hi Conrad,

    ???The Poly inside the Extrude matches the 5.00mm and 4.98mm measurements you noted. Could you submit a file with two objects, one Angle before and another Angle after your Extrude Operation? I'd like to try it and see it change. Please specify how you are duplicating it, modifying the Extr length, and what view(s) you are in.

    ???I tried duplicating it with an Option-Click, Cmd-D, Mirror Tool, and Menu Duplicate; then changed the Extr length with the OIP and with Reshaper 13. I even changed the Extr length in ISO views. No problems here. Either the object was off to begin with, or you are doing something I didn't guess.

    Thanks,

    Raymond

    VW 2008 (SP2) R1 (build 82613) D/RW

    MACmini, OSX 10.4.11. 2GB RAM

×
×
  • Create New...