MarkMc

Members
  • Posts

    4241
  • Joined

Everything posted by MarkMc

  1. Video from Michael in Tips is here Plan file with "some parts" and examples of cabinet doors here. Same principals apply. For house doors make back to match front. Since your using recessed instead of raised panels you don't have to worry about the depth of those. If you use "side panel inset" you may want to adjust the origin before adding it in there. If you make it very deep add a flat molding line (sample included) to the edge to cover where it sits back. If you don't find them in the library.
  2. I'll try changing that. It works as is though? Have a plan with all possible cabinets in it. Michael, that was a great explanation, I've read 4 or 5 explanations several times. Now I get it.
  3. Getting closer than I hoped, found a few things to change as I double checked the catalog-got there ...eventually. Learned a good bit I think. left to do filler labels to read only F3xx, F6xx, F9xx need to read diagonal doors on corner cabinets may have it throw an error if base width >36 But I think I'm going to look into cleaning up what I added first which may give me a better idea how to do those few things. For any other cabinets I'll use replace from library since those all need face configuration. A few question if I may- Do I understand correctly what you did? a method that defines in_conv using a case statement (which is why there are two “end” a hash that defines type a ternary statement that defines tdr a ternary for SR cab is an array that matches value from the hash type to get a result? An empty string lbl that string is then filled by concatenating parts some of which rely on simple conditional statements (if , unless) resulting in the final string lbl Correct? dimensions- Got incorrect result when width<9' and included 3/4” (1.75 read F3xx; 3.75 read F5xx; until 9”) Tried a bunch of stuff, read about rational, value.ceil, value.floor (have to re-read all that a few times, don't get it exactly but finally figured out they did not refer to the default room Eventually changed (value.ceil +1) to (value.floor +1) and everything works fine. I don't understand ? Along the way I discovered that precision=2 doesn't have an effect when deleted (precision was spelled as precesion which gave me a hint) Is it not needed? Next-added corner wall cabinet and corner base cabinet to the hash (type) then I tried to get label for those to NOT include: tdr (2) or depth for either AND also not include height for base. (NOTE -changed db to tdr) I was able to eliminate depth and height with: lbl.concat ("-" )+( (in_conv(depth)).to_s ) if depth.to_i !=13 && depth.to_i !=24 && depth.to_i !=36 I expected that would be || (or) instead of && -it reads to me as if all those conditions are required but it works-don't understand? Getting rid of '2' on corner cabinets and a few other places-I had a heck of a time with this- think there may be an easier or at least cleaner way. Going to play with that. It appears that I can't add condition OR (||) within the ternary statements, correct? Actually have not been able to nest much of anything there-guessing I have to define it first instead of trying to use a statement? Wondering if I misunderstand what lbl= “ ” is? I've tried inserting if then, and case statements before, after, in it to eliminate the “2” with no success. I had unreliable results using =cab 'B' or than I did using !=cab 'W' && !='U' Don't think it was pilot error, several places and variations ?? Odd thing?- I tried to make a shorter macro, that did not output as much, while checking corner cabinets. For that I deleted most of the lbl.concat but the evaluation error listed expecting all of the original lbl.concat statements. Is that some sort of global so long as the original lbl statement is in a macro that is listed in the plan? Or just pilot error? Fixed it by changing lbl to something different. Here's what I have so far, have about 18 in various stages that didn't work saved (threw out a bunch too) for reference.
  4. Checked and it appears you can not replace any and click done and it will export. I only had one bad material but worth a try.
  5. I've replaced missing textures with just a color that is easy to see like pink. Then changed it later. That was opening old 3D views though. Don't remember if you can select all in that dbx. I've also just deleted them. Now I replace al textures when importing SU models.
  6. Check the SBA, and Canadian SBA, maybe another for info on writing a business plan. Then do it, any format, don't use a Word template. Be sure to do a SWOT. Won't be accurate, won't be fun, will be a worthwhile exercise, increase your odds and help avoid trouble. Don't compare where you are to where you thought you would be for a few years. Do refer to "how and what" you thought.
  7. I need to be able to change the values for different brands "T" for "U" and for other cabinet types; vanity (Vxxx; VTxxx, etc) closet (DCT...); desk (DDB; etc) I suppose a bunch of substitutions could be written but out of my league, thinking it is easier for me to adjust per brand and to get a few cabinets in the library for each brand of other types (V, DC, DD..) which also vary by brand. I used what I did after looking at the listing for object properties, selected based on how I understood I could create logic to get where I needed.
  8. I finally got that from your questions. I saw you posted this on my phone yesterday (at the Methodist Church serving another Thanksgiving dinner that can't be beat.) Felt like a kid on Christmas eve last night. Just got to look at it. This will be a great learning excercise! Thanks so much. I'm going to spend some time understanding what you did. There are some things that need changing but I want to try those on my own (sans duct tape) before coming back for more advice. May take me a while rereading the books. Think that I can learn more that way. Again thanks so much.
  9. Gerry-the way you posed the questions got me thinking. Define each element once- Prefixes-2, SR, 2SR, W, 2W, R (#forgot refrigerator wall at 24 d) Type-B, W, U, F, "replace from library" (corner cabinets, num drawers >1) Dimensions-width (9...43), depth (nil for 13 and not 24 Unless wall), height, filler width, filler height defined. Then put them all together -prefix, type, width, height, depth- in something (hash, array, block? have to read all that yet again) return as string- Unless "filler" then something for fillers. Something like that? ...need more duct tape, not sure I know how to assemble it yet.
  10. That's how I feel once past 4 or 5 lines. Looked up 3 principals (will have to read that a few more times)-Encapsulation is why you placed the dimension code in the beginning instead of using %xyx%? The purpose being that the macro won't be broken if the %xyz% changes in the future?. I thought that when you folks said to stay away from "global" it was referring to $xyz ? I'd written lots of versions and parts of this. Copied, edited, tried with NONE, with "referenced ? obj = referenced : obj = owner", with and without "owner." "obj." (and my cousin Vinny), Case, If/elsif.... Until I got a bit to work, would then try adding a piece of the next section, when that failed would try again until I got a few pieces strung together. Then built it all, which didn't work, fixed that. Bottom line is I did not always know what was wrong but I did try lots of things. I was hoping there was a simpler way. NOTE There is a mistake in what I posted originally in the third section #Tall. Several lines read "wall cabinet" should read "utility cabinet" Is that the conflicts you are referring to? This is intended as label for the cabinets that I can insert with a hotkey for one brand. Few things change with other brands once it is done. Cabinets that require face configuration, hence other nomenclature are kept in the user library and brought in with "replace from.." List you have accurate except 3) Sink= SRB (I see that could just be adding SR-I just don't know how yet) 5) 2 = width >=24 (chief doesn't offer "number of doors"-24 comes both ways so decided on "2" at 24 since rarely use that size. 6) depth of 13 == Wall Base (BW) or Utility Base (UW) 8) end of string is depth of cabinet (2B27-18) When not 13 or 24 8) you're questions got me thinking that it might be simpler to make the depth as a separate macro added into the label box. Or added to all as an option (don't know how to do that yet) Since first posting I discovered that I will also need to have something for fillers since Chief uses the default cabinet label for fillers and we place those with hotkeys. 9) three more- Filler Utility, filler wall, filler base. We don't use the size drawn in the model for those, instead the size ordered. In this brand they all read F (3, 6, 9) height except for base fillers which need to read F 3,6, or 9 with height less toe kick (4.5 in this case) In other brands they will read BF (1.5, 3, 6); WF or TF 1.5,3,6 height 10) thinking of adding for corner cabinets both wall and base with variable diagonal face true or false. But may just replace from library for those. So may have that throw an "oops" 11) While right now "number of drawers" is handled using "Replace from..." I've considered using "num drawers" to throw an error as a red flag in case someone altered the face of a cabinet. A)Things I was thinking I might investigate- using some collection then comparing to collection? Or using some collection and returning the result ? Using "until"? then something for fillers? I got this to work with brute force and duct tape, (most of) Ruby has not "clicked in". I don't know if I will need enough macros to make learning it worth the effort, but I'm going to hack at it till it clicks, no longer capable of giving up. I'd like to be pointed to what road(s) to go down so I don't end up in the swamp.
  11. Thanks. Alas it only works on base and utility cabinets AND only if they are 24" deep. Errors on wall cabinets and any other depth. Still will be a good learning experience I see you defined the dimensions within the macro itself. (this is a question..) One reason I used %xyz dims% instead of writing it in directly was I want to write this for several other brands of cabinets. Those brands allow smaller dimensional changes and use different nomenclature. I was thinking that it would be easier to find and replace %xyz dims% with %zzz dims% (say to 16ths, or 1/8ths instead of half or 1inch) and then just change some of the "TEXT" in the results to match the brands nomenclature. ??
  12. I finally got this to work thanks to Michael,(and a quick skype from Michael Big thanks and Joe (Notepad++ helped and assorted posts from the macro gang. Questions- is there a way to shorten what I have (EVO label almost) using blocks, arrays, or hashes? I still have to add several categories to this and then I have to redo some of it for 4 other brands of cabinet so simplifying it would be nice. Since I just got out of one rabbit hole thought I ask if or which one I should go down next. Second- I had a heck of a time with the case statement. I tried defining it a lot of ways such as cabtype=owner.description case cabtype when cabtype=="base cabinet"---- result "xyz" when cabtype=="utility cabinet"... result "abc" Finally got this to work with an undefined case statement. I used case because I may have ranges in there and it looked easier to me. I did try "IF" statements with about he same amount of errors, this is just what I finally got to work. Attached the label macro as it stands (Evo label almost) and the dimension macros that are in it. Edited out an oops_mia culpa-deleted macros for now, did not realize until I saw BT's note. BTW there was an oops in the utility cabinet section
  13. Other options are convert the PDF to a png file which can be edited in a photo program. I use Bluebeam PDF revu (trial available) don't know if adobe Reader will do it but might. Or convert to dwg (think it was Rod Cole told me about) PDF to Cad, trial available. I find both programs invaluable.
  14. place full camera, open object
  15. May be like cabinets, where it is not possible to snap to the openings. Can do a detail from view-dimension that, copy the dimensions and paste in place-not live but better than nuttin.
  16. I'll report it. Locking walls doesn't solve it, have to turn them off. Also running into dims snapping to an arch block comprised of two interior fixture symbols made from plines-odd.
  17. Trying to set a dimension default that only locates base cabinets but does not locate wall. Checked "none" for "walls" in the default DBX but it still locates whatever is listed in "wall options" which doesn't have a choice of "none" Is this somewhere else?
  18. Most times I've had it read as it is using the built in card but actually use the nVidia card when I specify it in the settings. Just to be on the safe side I always set the entire machine to use the dedicated card (nVidia) and then specify each program I really want to use it. There's a program where you can check it with ... don't remember (cause I don't have it on this laptop which doesn't have an intel card) Note that the monitors will always use the Intel card AFAIK. You can also generally tell by the performance though.
  19. Two designers, 3 machines, sometimes a 4th BUT we only use laptops so some of this may help, some may be too cumbersome. Migrating we do as Joe suggests. Then always use the latest release ONLY. IF bringing a file from a prior version we do a save as just in case there is a need to revert. I don't have to give plan files to any other entities. Between machines we always use "backup entire plan" (to zip in X8) and include user initials and date in name. That takes care of textures and symbols in a specific plan. My part time assistant does this at end of day as a matter of course and drops it on a thumb drive. Whenever he's coming in I do the same for him in the morning before he gets here. We also have a private website for file transfer just in case and am setting up a private cloud here. For new symbols and material-I keep the library neat and organized into folders. Since new symbols always end up at the bottom and not in a file we export those as library file and add it to the zip backup. For most jobs I have a dedicated file in the library (makes getting job specific symbols easier). So sometimes the new symbols are immediately moved to that and we export it. Note that the Job file in the library always contains actual symbols and not short cuts to avoid problems.
  20. Not sure why, was just going to test a quick way to replace them and did not lose lite config when changing to casement- now it doesn't match the double hungs of course since it is a single pane. But that's easy enough to change.
  21. Just tested trim a circle- standard line- be sure the line goes beyond the circle is all. I usually click on the thumbtack (sticky mode) just in case. For architectural blocking of a single object the easiest method is to Shift Select the object. AFAIK you can't block a 3D object AND text or CAD objects- Text and CAD can make CAD blocks but not Arch Blocks, and visa versa.
  22. When checking messages on the forum using the phone the browser goes into spastic seizures (never seen anything like it , really cool, worth a try). Also end up having to re-login to retrieve a message or going back rto forum.
  23. That helps a lot Michael, thanks. Still would like to see by title in other search results.
  24. Just tried a search by author- one of the ruby gurus, with search term macro- anywhere and any-No results. Get that a lot from the advanced search, at times I've resorted to web search.