Jump to content

James Russell

  • Posts

  • Joined

  • Last visited

Everything posted by James Russell

  1. So I'm going to have a grumble about this one. I have a dongle license of VW 2014/15. That's not the problem, I quite like it actually, it allows me to move between my PC, iMac and MacBook Pro when I choose without the whole you forgot to log out of one of these serials. The issue I do have is this: I leave the house to jump on a 1 hour train commute to work in the city. 90% of the time I'm going to be playing with VW in some form. I'll open a document, do some things within it and then a situation will occur (my station will appear, or I'll stand for an old lady or take a phonecall). I'll close my laptop and go about my business. The ISSUE is that when I reopen my laptop (and I will have removed the dongle for transport safety) I immediately only get two options: Save or Cancel. What if I want to do neither? I want two more options, Save As... and Retry. If I've opened a file and made some changes I don't want to overwrite the previous one, but I do want to keep the new one. I can't. Save as to keep and close files, retry to keep working when your dongle is back in. Please. J
  2. Michael (and Chris), Didn't we talk a while ago about using the bounding box parameters to calculate these three values; Length, Width and Height? There will always be obvious flaws with any of these systems; Rotational values, mitres, non-rectangular shapes, slope variations, notchouts. I'd be very interested one day to see the script that runs for the Wall Framer tool in the Architect package, I think that would tell us some interesting things. Back to the aforementioned bounding box, I'll have a play on the train tomorrow and see where I got to on that project. J
  3. So I couldn't sleep. Learning challenge accepted! Seriously though the knowledge base's four examples on this subject are pretty hardcore for beginning! You might find a few bits here on the forum on this stuff but as to the logic I have no idea if it's actually document properly anywhere. Below is my attempt at your dialog problem. They are a mind bender and I had to refresh my memory with one of my old scripts to see how I'd done it previously. Sorry it's not annotated better but at least it will give you structure. I've changed most of your fields to Real values as text would just mean an extra conversion step, downside is Static Headers, so you'll noticed the numbering changed in the layout order. I've included a GetEditText field still just so you've got the example for headings and such. Let me know how you go! J PROCEDURE CreateDialog; VAR success : BOOLEAN; id, result : LONGINT; WidthReal, LengthReal, WidthOffReal, LengthOffReal : REAL; ExSTR : STRING; PROCEDURE Dialog_Handler (VAR item :LONGINT; data :LONGINT); {---------- Values to Vars --------------} BEGIN CASE item OF 1: BEGIN success := GetEditReal(id,6,3,WidthReal); success := GetEditReal(id,8,3,LengthReal); success := GetEditReal(id,11,3,WidthOffReal); success := GetEditReal(id,13,3,LengthOffReal); GetItemText(id,15,ExSTR); END; END; END; {---------- Layout Creation --------------} BEGIN id := CreateLayout('Panel',TRUE,'Generate', ''); CreateGroupBox(id,4,'Shell',TRUE); CreateStaticText(id,5,'Width',28); CreateEditReal(id,6,3,100,26); CreateStaticText(id,7,'Length',28); CreateEditReal(id,8,3,200,26); CreateGroupBox(id,9,'Armature',TRUE); CreateStaticText(id,10,'Width Offset',28); CreateEditReal(id,11,3,25,26); CreateStaticText(id,12,'Length Offset',28); CreateEditReal(id,13,3,50,26); CreateStaticText(id,14,'This is an Example Text Field',40); CreateEditText(id,15,'An Example Text Field',35); SetFirstLayoutItem(id, 4); SetFirstGroupItem(id,4,5); SetRightItem(id,5,7,0,0); SetBelowItem(id,5,6,0,0); SetRightItem(id,6,8,0,0); SetBelowItem(id,4,9,0,0); SetFirstGroupItem(id,9,10); SetRightItem(id,10,12,0,0); SetBelowItem(id,10,11,0,0); SetRightItem(id,11,13,0,0); SetBelowItem(id,9,14,0,0); SetBelowItem(id,14,15,0,0); {---------- Run the Layout --------------} IF VerifyLayout(id) THEN BEGIN If RunLayoutDialog(id, Dialog_Handler) = 1 THEN BEGIN {---------- Verify and Make your Rectangles here! --------------} Message(Concat('WidthReal: ',WidthReal,' Length Real: ',LengthReal,' Width Offset Real: ',WidthOffReal,' Length Offset Real: ',LengthOffReal,' Random Text: ',ExSTR)); End; End; END; RUN(CreateDialog);
  4. Hey all, I just can't seem to get this right. The script is ment to take the group of selected objects and move them a specific class and specific layer, as specified in the CONSTs. I keep getting an Expected ; and Expected a Run but for the life of me I can't find them. ------------- Procedure SelectandMove; CONST classstr = 'Venue - Walls - Primary Wall'; layerstr = '_Stage Level'; VAR objecthnd, layerhnd : Handle; sucess : Boolean; lname : String; PROCEDURE SetCandL(objecthnd :HANDLE); {Procedure to set the class of selected object to classstr and layer to layerstr} BEGIN SetClass(objecthnd,classstr); layerhnd := GetLayerByName(layerstr); sucess := SetParent(objecthnd,layerhnd); END; BEGIN ForEachObject(SetCandL,(SEL=TRUE)); End; RUN (SelectandMove) ------------- Any help much appreciated. J
  5. Alright so an hour of searching and I'm done. We have the SetClass(h,'') command. What is its layer equivalent? I would have thought SetLayer(h,'Design Layer-2'); would work, but I can't find a reference anywhere! J
  6. This is one of my favourite responses ever.
  7. I'm currently using open source AR technology to achieve similar results from VW files. I'm currently showing models on a QR tracking basis running through either iPad Gen 4's or an Oculus Gen 1 (waiting on my Gen 2...). It's pretty good on the whole reach out and touch the model thing, rotate it in real time, even basic scene transitions. If you could improve the GeoReferencing and/or location tracking on site breakthroughs could probably be achieved too. There's no doubt the future. At the University of Melbourne I'm starting a 3rd Year elective on 3D Scanning, 3D printing and Augmented Reality. I'll let you know how that goes in semester 2! J
  8. @John Whyte, Sorry for the delay in replying. This would make sense as it only comes in my Architect AUS workspace and not my Architect (General). A shame really because it nails what you're trying to do. It's a great tool that although ludicrously more advanced and troublesome sometimes that its Door Tool Standard equivalent, does provide great results. @Jim, do you know why this tool is AUS only? J
  9. John, This kinda makes sense that it's greyed out. The OXOX arrangement style only really works for Sliders in terms of their internal track arrangements. The only way I've ever been able to do the door style that you're asking for is with the more advanced WinDoor component available in the Architect package (I don't know if it comes with Designer, you'll have to let me know!). Attached is a screenshot of the functionality of it within your file. Note the Object Info Panel and the ability to choose the number of doors L and R. If that option is unavailable then I'd probably say draw your own symbol and with the doors and such as you'd like them, insert it into the wall as is or use it as a custom door with the current door tool. J
  10. Thanks for the provocative responses guys. I'll find some time and have a crack at Python goodness over the next few days. Still seeking an example/direction/ideas for triggering the Export > Image File command. If there's a Vectorscript command for it I don't think I've found it yet in the function listing, otherwise I'll be investigating a DoByMenu and attempting to figure the required settings post dialog box. I'll keep you posted brains trust. J PS. I enjoy looking in the pantry and finding Cans of Worms and Dull Cookies, they're my favourite brain snacks.
  11. Thanks for your responses guys. @Klinzey - Totally hearing you and wishing that all units could potentially be added one day soon. Knew this was the case but was hoping to raise awareness of some of the issues I'm facing with my clients who wish to do load ratings and power calculations without taking the figures somewhere else. @bcd - I've used the =value(x) to solve most of the problems created from the ~2012 shift to current versions where Lighting Devices have been restrained in the locking of the field type. I was kind of hoping soon VW would implement an equivalent to Excel's RIGHT and LEFT commands, allowing you to remove sections of strings by length (in an attempt to remove the W for example from 750W and then running the value over the top to avoid mass library changes). As with every year I'll keep flagging this as a desire from down under.
  12. @Michaelk (1) - Same-ish struggles, seemed relevant. Haha. Let me know if you stopover in Dubai, I'm here for ~ two weeks. @Pat Stanford - How dull! Do you think it's some sort of 'can't have two scripts running at the same time' thing and that a PIO needs something that the script is using? @Michaelk (2) - Maybe another cheeky DoByMenuTextNameThing? I don't know if that works for custom entries though. And if my above reply to Pat does become true, where an element of the scripting run process is the same for a PIO then it might be to no avail. Surely people have gotten around this; I'm looking at you Matt Panzer, Joshua Benghiat, Robert Anderson, Petri Sakkinen, and all the other smart cookies who play with the boundaries of PIOs. J
  13. Also read this and let me know your thoughts: https://techboard.vectorworks.net/ubbthreads.php?ubb=showflat&Number=68071
  14. Also what does this parameter control: Layer Ambient Status 150 TRUE or FALSE ObjectVariableBoolean ?
  15. This is a tough-ish one in my opinion. Sometimes I'll do a details layer with several classes to turn items on and off. Most of the time Symbols just for ease of use. You could make heaps of classes but you've got to be really organised then and not overlap things class wise. You could reference the symbols in from other files, but then you've got multiple files to deal with which could be another hell entirely. I tried just then, and this might be a wishlist item now, but to create a viewport whilst in the 3D edit for a symbol. Call it a technical viewport. Interesting concept.
  16. Cute. Not practical but cute for sure. Haha. I feel like Pat Stanford's gonna come in here and bust open some like like SetPref(12348,False) and it'll change the game. Triggering the script itself multiple times seems illogical, there just has to be a refresh that we just don't know about. A forced refresh designed for plugin objects. I tried running the Refresh Instruments command via a DoMenuTextByName to no avail, thought we could get tricky and use something that also forces a refresh in data. Arghh. J
  17. Michael, Totally in the same boat now. Welcome to the party! If I hard break your script at anytime the door opens to the current listed amount. I also tried making your whole script a separate procedure with long wait times in between, but it only renders the very last frame same as if it limits out at 180 degrees. I'm just wondering if when the script is finalised if there's a bigger refresh that we're not aware of that forces all plugin objects to refresh all values. Super weird though, I'm seeing the same thing with all plugin objects: Lighting Device Colour Changes, Doors, Windows, Soft Goods, Human Figure, Plant Tool. I'll have a think on the plane. J
  18. Continuing progress on my personal challenge series. I've played with several elements over the last few hours, and with a 14 hours plan ride ahead I'm looking forwards to getting into the depths of a few new ideas. Progress: New Set - Much more to look at and actualish scaled. Played with actual backdrops now that OpenGL is behaving. Can set record fields for PIO fields Lighting seems to work also, shadowing issues when enabled. Challenges: Soft goods not updating with RedrawAll. If you run this and let the curtain open counter go up (9 key) the curtain won't open. If you terminate the script with esc it will adapt to the width as required. I don't know why, it does have a force update button in the Object Info palette, not sure if this is triggered differently to an Redraw or UpdateObject. Lighting (see a post just before this entitled _Light On). Wanted to try fading lights at rates. Figured I could just SetRField data to the _Brightness or _Light On fields, seems not. If anyone has any links to scripts that involve moving the perspective of the viewer (much like the walkthrough tool) I'd love to hear about them. Even if you have a command in mind that might be relevant. It's somewhere down the line but I want to get into it soon. I'll keep you posted. J
  19. So I've been playing with Spotlight LX Renderings for the last little while. When generating a report or looking at Pat's old (but so still awesome) script in reference to a lighting device there are three fields that come to my attention: _Light On _Lit Fog _Brightness As one of my most recent challenges in VW I've been working on automation systems for my Third Year Lighting class. A request was to be able to SEE transitions in VW, a challenge that I took on as a personal project over the next few weeks. (Commonly used ESP or WYSIWYG for this with no issue, more of a side request) These three fields seem crucial to the "Turn On" option relating to Lighting Devices. But upon manual entry into these fields (Via script or worksheet) the results are somewhat locked with no change to the light output. Can anyone shed some light on this? (Bad pun city) J
  20. I had this rage about 5 years ago about the wattage and weight fields for VW Spotlight being text fields by default. Back in VW 2008 you used to be able to edit the Lighting Device.vso, change the field from Text to Integer and then you'd have to go through your entire library and make some changes to lamp figures (not an impossible task but a painful one still). Now days the spotlight preferences seem to lock these fields to text, which is incredibly dull. My question is why? We have so much capability for: - Dimmer Loading Calculators - Truss Weight Loading - Phase Loading - Point Load Calculations All within our smart two-way spreadsheet system. Just makes me a little angry.
  21. Firstly Michael Klaers you make my weekend so much better! How strange though! Are you saying all these objects needed was a nudge to actually update? Apart from this mega update now thanks to MK's input it's looking kinda fun/cool. Progress: I've made a few changes with the flys, they now stop at a lower dead, which is kind of nice. I'm going to keep playing with this over the next two days. If you have feedback / concepts that you think might be fun to try list them and I'll either have a look at implementing them and/or try out your code! J
  22. I've been working on my own challenge. Progress: Now with your keyboard you can trigger the Fly lines to move up, down or remain stationary. (1, 2 & 3 key) Notated code, sorry! Found more flexibility - about to work on up/down limits and perhaps changing key style to latching. Need Help With: Why won't OpenGL refresh. You'll notice that I'm running this whole thing through a viewport. In a standard design layer it won't RedrawAll. I've tried for resetting the viewport to no avail. Any input welcome! Opinions on concept. Post getting actual rendered modes to work I'm thinking temp dialog for control, got a design in the works. Anyone who has an example of exporting a .jpg from script would be much appreciated! I'll keep at it, don't be scared to break it. J
  23. The major issue I have with this solution is the wipe out of shadowing due to the global rise in ambient light in all directions. (See attached for examples) It makes the objects loose all depth due to the whole 360 degree lighting thing going on, whether the ambient is at 25%, 70% or 100%. I'll have to have a play with fixed almost sun direction lighting to see if I can replicated this light that gets turned off, it'd be good to know if it can be enabled/replicated again for future reference. Thanks for the link and explanation though B, I'd remember seeing this a while ago but dismissing it. Good to check it out again now. J
  • Create New...