JoeC Posted July 13, 2009 Posted July 13, 2009 I'm looking for the best way to compare layouts that our customers have modified and resubmitted back to us. They don't always inform us of all of the changes they make, and it would be nice to have a "foolproof" way of capturing any changes. I have seen some third-party products that do this. They basically block each drawing into one color, and then overlay it on the original in another color. Anyone have any suggestions on the best, most economical way to do this? Thanks. Quote
lpseifert Posted July 13, 2009 Posted July 13, 2009 In Design Review, there is a Compare command which is supposed to compare the 2D content of 2 files. I suppose you'd need to create the .dwf files by exporting or plotting to .dwf first. To be truthful, I have no experience doing this, I just remember reading of it. Quote
Ryder76 Posted July 13, 2009 Posted July 13, 2009 Try xrefing the drawing in on its own layer; then, lock the layer. This will dim the colors and you should be able to see the difference. You may need to move it to the back of the draw order to really 'see' the changes. Quote
ammobake Posted July 14, 2009 Posted July 14, 2009 Believe me Joe. I feel your pain.. I recently got a DWG back from one of our subcontractors that was just mutilated. But they did make changes to content in modelspace and create the sheets we needed by setting up the viewports and sheet titles. They just decided to scale my 18x24 titleblock down to 11x17 (instead of just printing to 11X17). Some sheets had half the titleblock missing, some didn't have them at all.. For starters, I think the easiest way to make drawings interchangeable with other companies is to only use paperspace for sheet content. Also, I only use XREF's in the form of raster images and only if absolutely necessary. This way, they don't have to worry about editing multiple drawings and/or forgetting to change something. There is also a file formatting issue, so if you are using 2010, for example, and they are using 2008.. You would have to save it as a 2007 DWG file so they could open it. And then, if you have XREF's as DWG files, those also have to be saved back... It can get pretty complex.. Keeping everything in one drawing file, if possible, saves alot of headaches. They make the changes.. I can create the new sheets, copy what they have in model space, paste it into MY version of the drawing. I can then copy the viewports they've set up and put them in MY version of the drawing on their own new sheets, and then edit the titleblock info however I want. Because, let's face it, sometimes they will mix up the drawing order too. -ChriS Quote
JoeC Posted July 14, 2009 Author Posted July 14, 2009 Thanks for the suggestions! lpseifert - I'm not sure what/where "design review" is. Where in Autocad can this be found? Ammobake - I understand what you are saying, but we have so many different customers, it'd be difficult to "standardize" with all of them. I like Ryder76's idea. I tried the Xref suggestion, and I think it will work quite well with our layouts. Thanks dude! Quote
Ryder76 Posted July 14, 2009 Posted July 14, 2009 Thanks for the suggestions! lpseifert - I'm not sure what/where "design review" is. Where in Autocad can this be found? Ammobake - I understand what you are saying, but we have so many different customers, it'd be difficult to "standardize" with all of them. I like Ryder76's idea. I tried the Xref suggestion, and I think it will work quite well with our layouts. Thanks dude! Your welcome, sweetie, but I'm not a dude. Quote
ronjonp Posted July 14, 2009 Posted July 14, 2009 Here is a simple lisp I use to change all xref layers to red and all other layers to blue. (I use a similar method as Ryder to check changes) except only the new stuff is xrefed. (defun c:checkchanges (/) (vl-load-com) (vlax-map-collection (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) '(lambda (x) (if (wcmatch (vla-get-name x) "*|*") (vla-put-color x 1) (vla-put-color x 5) ) ) ) (princ) ) Quote
Ryder76 Posted July 14, 2009 Posted July 14, 2009 Here is a simple lisp I use to change all xref layers to red and all other layers to blue. (I use a similar method as Ryder to check changes) except only the new stuff is xrefed. (defun c:checkchanges (/) (vlax-map-collection (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) '(lambda (x) (if (wcmatch (vla-get-name x) "*|*") (vla-put-color x 1) (vla-put-color x 5) ) ) ) (princ) ) Sweet - nice tool. Quote
JoeC Posted July 14, 2009 Author Posted July 14, 2009 Sorry about that Ms. Ryder! My kids tend to use "dude" in a unisex manner, and I suppose I was doing the same! Thanks for the help, nevertheless. Quote
Ryder76 Posted July 14, 2009 Posted July 14, 2009 It's quite alright - not like I haven't been called "dude" before. Seems a lot of the guys I ride with do the same. And, no, I definitely don't look like a guy. Quote
JoeC Posted July 14, 2009 Author Posted July 14, 2009 Here is a simple lisp I use to change all xref layers to red and all other layers to blue. (I use a similar method as Ryder to check changes) except only the new stuff is xrefed. (defun c:checkchanges (/) (vlax-map-collection (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) '(lambda (x) (if (wcmatch (vla-get-name x) "*|*") (vla-put-color x 1) (vla-put-color x 5) ) ) ) (princ) ) I tried the lisp, but it didn't work for me. Is "checkchanges" the command prompt entry? I saved the code through notepad as checkchanges.lsp in the support folder. I loaded it though appload successfully. Did I do something wrong? Thanks for the help Quote
ronjonp Posted July 14, 2009 Posted July 14, 2009 I tried the lisp, but it didn't work for me. Is "checkchanges" the command prompt entry? I saved the code through notepad as checkchanges.lsp in the support folder. I loaded it though appload successfully. Did I do something wrong? Thanks for the help You might not have (vl-load-com) loaded or your objects are set to color by object. I updated my post to include (vl-load-com). Quote
ammobake Posted July 14, 2009 Posted July 14, 2009 Ammobake - I understand what you are saying, but we have so many different customers, it'd be difficult to "standardize" with all of them. Hmm. I guess what I'm trying to say is this. You don't necessarily have to standardize your drawings for anyone but the company you work for. But there ARE ways to make things easier on yourself in the long run. With my company, I created standard drawing templates with all the layers already set up and everything.. I have templates for 11x17, 18x24, 24x36. But they are all essentially the same thing save for size of the sheet and title block. All our drawings are the same so the information is easily interchangeable between them. It's a simple matter of copy and paste. Even for the viewports. If some of the stuff in 2D comes out jacked-up because they messed with it when they shouldn't have, that's an issue I would take up with someone's cad guy. Our contractors will work in their own area of 2D model space and leave all of my stuff alone (amen to that). That way if they change something slightly from the original it doesn't really matter that much. That's the way it really should be, IMO. -ChriS Quote
JoeC Posted July 14, 2009 Author Posted July 14, 2009 Yea, I agree ChriS. We do some of the same things that you mention. The big issue to my original question is when one of our customers makes a change to a layout (even a very minor one), we are subject to short-shipping an order if the change isn't noticed. Customer's cad guys "jack-up" our drawings quite often (exploding blocks, re-scaling things in model space, etc.), but these are minor issues compared to an unoticed change. We do submit a final package to the customer requiring their approval signature (with about 30% return rate) I think some of the things I have learned today from the fine folks in this forum will prove to be very beneficial in preventing future issues. Quote
JoeC Posted July 14, 2009 Author Posted July 14, 2009 One other question ronjonp...other than using the Undo button, is there a lisp to return the drawing to its original layer colors? Quote
ronjonp Posted July 14, 2009 Posted July 14, 2009 One other question ronjonp...other than using the Undo button, is there a lisp to return the drawing to its original layer colors? Give this a try...note it will only revert the layers back in the current session: (defun c:checkchanges (/) (vlax-map-collection (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) '(lambda (x) (setq *saved* (cons (list x (vla-get-color x)) *saved*)) (if (wcmatch (vla-get-name x) "*|*") (vla-put-color x 1) (vla-put-color x 5) ) ) ) (defun c:changesback (/) (foreach lay *saved* (vla-put-color (car lay) (cadr lay))) (setq *saved* nil) (princ) ) (princ) ) Quote
chelsea1307 Posted July 14, 2009 Posted July 14, 2009 or you could create layer states, not exaclty sure how they work but the description on them seems to be what your looking for. you can change back and forth between different layer color schemes Quote
DVDM Posted July 15, 2009 Posted July 15, 2009 I usually overlay one with the other, change the color of the one on top to gray, that way anything in color stands out quite well. Another technique i've used is to use the OVERKILL command (part of Express Tools in Acad 2008). Move all objects from the client drawing to a layer called CLIENT, keep it the current layer, move all objects on top of your own drawing, and run the OVERKILL command (change the Fuzz to 0.1 or something). It will delete all duplicate objects, and once fished you simply isolate the CLIENT layer (LAYISO), showing exactly what wasn't identical to yours. Quote
JoeC Posted July 15, 2009 Author Posted July 15, 2009 Thanks everyone! I'll be using all of this good advice daily. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.