M_Simons Posted December 2, 2011 Posted December 2, 2011 Here is another LISP question, hopefully to someone with ACADE experience. Maybe help me brainstorm a bit. I am writing a LISP utility that will replace the ACE built in wire number function as it does not perform correctly for what I need. That being said, I have the "skeleton" of my program written and for the most part it works as it should. Here is the gist of my program; Why I can't use the built in ACE wire numbering function; This function has the possibility of inserting duplicate wire numbers, and changing wire numbers on existing wires. This is because it is very easy to move a wire off of the wire number block (using the move command, or many other typical drafting commands) It is my opinion the wire number block is a poor way to handle wire numbers. If the program sees this wire is not "sitting on" a wire number block it will give the wire a new number while leaving the old wire number block floating in the drawing somewhere. (this of course can be averted if you use the ACE scoot, which I find cumbersome at times). Another issue, even though the ACE wire numbering utility is not supposed to insert duplicate wire numbers per project... I continually have issues with it inserting duplicates sporadically. Lastly and possibly the greatest reason, there is really no "unique" identifier for each wire, because the wire number can change. This creates headaches when trying to process engineering change documentation automatically. Here is what I did; I am creating a utility which works in conjunction with an SQL database that will keep track of much more wire data than ACE does. When I run my utility to insert wire numbers it performs some typical logical checks (does the wire already have wire number?, ect). If the wire does not have a number my utility assigns the ACE wire number block, then embeds a unique identifier (derived from SQL database) into the extended entity data for each segment of the wire. This way the wire can now be identified in the system regardless of changes or "broken" wire numbers. The utility checks for broken wire numbers and fixes them. Since the wire segments now have unique identifiers embedded into them, engineering changes can now be automatically tracked and reports can be generated with the SQL database. Here is my question, I'm having issues processing wires with source and destination arrows. I am able to populate the source "side" wire with my unique identifiers and wire numbers, however going to the destination side and "continuing" with the same wire number and unique identifier is proving to be an issue. I need to be able to identify where the destination is (most likely in another .dwg file in the project), and also the wire entities attached to this destination arrow so that unique identifiers can be embedded into the entity data. What I have been tinkering with so far is the scratch database. It seems to keep track of the signals and where they go. So at this point I am able to find the corresponding destination, open up that drawing, isolate the destination block by it's handle, but now how do I figure out what wire entity connects to this block? Is there a better way to find all of the wire entities in a wire network on both sides of the source/destination arrows without digging through the scratch database? Also, can the data in the scratch database be trusted? how often is this updated? Now, as far as brainstorming... Maybe there is a better way to accomplish this? I really need the wires to have unique identifiers, and this information needs to be in an SQL database for more powerful report processing outside of ACADE. Also, do you think I could get rid of the wire number blocks all together and just embed the wire numbers directly into the wire entities? Is it possible to extract the entity data and put this into the ACADE reports? Thanks for reading my long-winded post and I greatly appreciate any help Quote
ReMark Posted December 2, 2011 Posted December 2, 2011 Using a normal AutoCAD command such as Move instead of Scoot is at the heart of your problem. It would be the same as using the normal Erase command instead of the Edit Wire command to delete a wire from your ACADE drawing. By using plain AutoCAD commands you are creating a disconnect between Electrical and the databases that run in the background. You are using Surfer to find links in other drawings aren't you? The databases are updated every time you leave one drawing and go to another. Quote
M_Simons Posted December 2, 2011 Author Posted December 2, 2011 Using a normal AutoCAD command such as Move instead of Scoot is at the heart of your problem. It would be the same as using the normal Erase command instead of the Edit Wire command to delete a wire from your ACADE drawing. By using plain AutoCAD commands you are creating a disconnect between Electrical and the databases that run in the background. You are using Surfer to find links in other drawings aren't you? The databases are updated every time you leave one drawing and go to another. I agree with your first statement completely addressing one of the issues I have with the ACE wire numbers. However, this is not the only issue I am having with the built in wire numbering utility. I still need a way to uniquely identify each wire regardless of wire number changes, and get this information into an SQL database (could also be accomplished by entity handle, but I feel creating my own identifier and inserting into entity is just as easy). One thing I did not mention in my opening post is that how my company operates, wire numbers can never be re-used. So for instance if a numbered wire is deleted, that wire number can never be used again. As far as I know ACADE does not have this functionality. Also in the three years of using this software and customizing it, I am unable to prevent the built in wire numbering utility from assigning duplicated numbers. I'm not sure why the utility does this, as it isn't supposed to. by links are you referring to the source and destination arrows? I am not using surfer at all for this utility. I can post the code if you like, however right now it's a huge mess as I am still developing it. Thanks again. Quote
ReMark Posted December 2, 2011 Posted December 2, 2011 Have you posted your question in AutoDesk's AutoCAD Electrical discussion group? There is a frequent contributor there by the name of Doug McAlexander who runs a consulting company (Electrical Computer-Aided Design Consulting Headquarters) who is very knowledgeable on ACADE. He may be able to assist you with your problem. I'm still an ACADE newbie. Quote
M_Simons Posted December 2, 2011 Author Posted December 2, 2011 I usually start there, however the last few questions I had did not get any responses. It seems like one of the main contributors from AutoDesk has left, or is posting much less. This forum seems a bit more helpful I'll go ahead and post this on AutoDesk's discussion group and see if it goes anywhere Quote
ReMark Posted December 2, 2011 Posted December 2, 2011 Another source of information (not necessarily free) would be the guy who spent the most time developing what is now called AutoCAD Electrical and for a time worked for AutoDesk after they bought his company out. I know he has his own blog/website as I've run across it a couple of times. He does consulting work now. Nate Holt, PE N8 Consultants LLC Toledo, OH I do know of one other person who might be able to help you but he is located in East Providence, RI and he definitely charges for his services. He does provide "remote" assistance via computer. BTW...where are you located? I'm in Connecticut. Quote
M_Simons Posted December 2, 2011 Author Posted December 2, 2011 Yes, Nate used to post on the autodesk boards frequently. From what I understand he now works for Bentley. He has removed most of the AutoCAD electrical content from his blog which is unfortunate as I used to reference this information. Pat Murnen (SP?) used to help me out quite a bit, but I haven't seen him posting as much, or at all on the boards as of recent. Quote
ReMark Posted December 2, 2011 Posted December 2, 2011 I know Pat! I gave him and AutoDesk a real hard time when I first encountered ACADE and tried to teach myself how to use it. We exchanged many an email. Not always polite either! LOL 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.