Jump to content

Point Insertion Lisp


jaylo23

Recommended Posts

A little background before I get to request. I work in the mechanical design industry and deal with storage tanks alot as well as piping to said tanks. We draw all of our tanks in 3D (autocad 2007) and use bentley for our piping. The thing is that we have to put nozzles (alot)on top of these tanks to pipe to. This need to be pretty accurate as the tanks will be built off of our drawings as well as pipe that is pre-fabricated to go to these nozzles. Please see attached drawing. What i am looking for is an lisp that will insert a point at an user specified radius from the center of the cone, at an user specified angle and an user specified distance from the cone. The apex of the cone will change per the diameter of it but it is always drawn at 15 degree slope. That way we can insert a nozzle block (maybe include in lisp) at the point created by the lisp. I am hoping this will clear up errors by my drafters and speed things up as we have dozens of nozzles sometimes and human error is expected. I did a search and didnt find a lisp like this (sorry if there is already one). Thanks in advance for your help

EXAMPLE.dwg

Link to comment
Share on other sites

  • Replies 20
  • Created
  • Last Reply

Top Posters In This Topic

  • jaylo23

    12

  • ReMark

    7

  • devitg

    2

Haven't come across such a Lisp routine as you described. We deal with ASME flanged and dished heads with up to eight nozzles and usually a manway located with sometimes as many as three different radii. We're pretty darn accurate in our placement too. Your drawing depicts a flat bottom tank with a cone top (at a fixed slope), yet your people are having trouble accurately locating the placement of the nozzles? How is this normally done? Just curious.

 

I've seen a Lisp routine for drawing tanks posted here but none that address nozzle placement.

Link to comment
Share on other sites

Well its not so much the accuracy as much as the time consuming effort when there are alot of nozzles. I usually have 10-20 new contractors working for me or new hirees (usually straight out of school) when i have a big job (which is going to be coming up in about a month) and it seems everbody has there own way and it seems to create inconsistencies (which i hate) on our models and drawings. I give room for drafting preference to get the job done as long as the end result is the same but he way i do it and instruct others is i usually draw an polyline from the quadrant of the cone to the apex of it and offset it at whatever my projection needs to be and then at my specified radius i project a line up to the offsetted polyline. Then after inserting my nozzle i can just rotate it at whatever angle along the center of the tank i need. its not bad when you have only a few nozzles on top but when we start getting into alot of nozzles as well as the constant revisions to the design and placement of the nozzles it becomes repeatative. And alot of inexpereinced drafters either put the nozzle at the wrong radius or projection (again human error is to be expexted) or take forever getting a tank modeled. I just wanted to make this process more effecient and eliminate as much error as possible.

Link to comment
Share on other sites

Does Bentley offer a tank design module? Maybe one person could be responsible just for the tanks and let everyone else take care of the piping.

Link to comment
Share on other sites

Yes Bentley does have an equipment block creator, but we have had alot of issues trying to use that, there equipment looks like crap, and people just seem to flat out not like using them. I personally could go either way there are some pros ands cons. And as far as one person being responsible for just the tanks would be kinda hard. Like i said i have a HUGE job coming up with dozens of tanks that are going to have dozens of changes and revisions and it would be to much to ask one person to do this. On my projects i atleast 5-7 cad guys and about 3-4 pipers. I usually was able to monitor the cad work more closely (i still do a ton of my own modeling, just find it easire to do my own stuff, its a bad habit i am trying to change) but as i get into more of the design/engineer/management side it takes away from lead modeler side whereas my eyes (along with a few others) saw everything before it went out.

Link to comment
Share on other sites

I was thinking that if a couple of people were using 2009 you might be able to use a new feature called Action Recorder. I haven't used it myself but in reading up on it they give the impression the playback feature can be programmed to stop for user input. I envisioned something along the lines of a little routine that would prompt the user, at the appropriate time, to input all the numbers you mentioned above, while selecting the required commands automatically. I see that won't work here.

 

There are a couple of people here who are really good at writing Lisp routines. Maybe your post will catch their eye. We'll have to make sure this thread stays current enough so someone will spot it and come to your rescue. In the meantime, as I wander the Internet, I'll keep your particular request in mind.

Link to comment
Share on other sites

Man you are inside my mind. One of the people in the office had a trial version of 2009 and had mentioned the "Action Recorder" not longer than an 1/2 hour ago! But after switching to 2007 not a year ago it will be impossible to convince acct to fork up the cash for 2009, oh well. I grately appreciate your help on this your help on this ReMark and i am confident that one of the lisp geniuses might be able to throw me a bone. I might even try to frankenstein a lisp together to do what i need (i have a veeerrrryyyyy basic knowledge of lisp)

Link to comment
Share on other sites

I personally use point filters all the time. I do not know how some of my drafters get by in 3D without having a grasp of them, drafter preference i guess. But unfortunately a lot of them do and it has been crazy to see how many people either dont have a want to use them when we work exclusively in 3D here or cant grasp the concept very good (especially the kids straight out of college). Thats why i wanted an "error" proof and effecient lisp of accomplishing this. Thanks for your contunued advice ReMarK i greatly appreciate it. I am currently trying to slap together an ugly lisp which i will post (i have a few problems and questions) to get some advice and feedback on.

Link to comment
Share on other sites

ReMark can this be applied to a cone. There is no snap point on a cone other than the quadrant or the center whereas i need an tracking point along the slope of the cone or am i missing something and this could be used on an cone?

Link to comment
Share on other sites

You're right. There would have to be something "there" at the level of the cone where it would intersect with the C.L. of the nozzle. A circle? But that would involve another step.

Link to comment
Share on other sites

You're right. There would have to be something "there" at the level of the cone where it would intersect with the C.L. of the nozzle. A circle? But that would involve another step.

 

Exactly. Any other suggestions? I am finishing up my lisp after an lunch meeting with the big wigs. I post here in about an hour or so.

Link to comment
Share on other sites

  • 1 month later...

Well its been awhile but in my spare time i have finally gotten this lisp to work kinda. If any of the lisp guys could look over this and provide some input and some suggestions to clean it up that would be greatly appreciated. Also, was wanting to add a prompt asking the user "what is the size of the nozzle (in inches)" and, if say the user inputs 2 then the lisp would insert a 2" nozzle block, so on and so forth for the other size nozzles in our block library from our network instead of inserting the point. Also, how do i get it to accept different units from the user. For example on the lisp i cannot input 2' for an radius i get an "requires numeric value" error, i have to put in 24. P.S. Please refer to attached dwg at the beginning of the post for more info on this lisp.

Link to comment
Share on other sites

Sorry folks here is the lisp

 

(defun DTR (D)

(/ (* pi D) 180.0)

);end of DTR

(defun C:NOZZLE (/ APEX PRO RAD PT1 PT2 PT3)

(command "_ucs" "w")

(setq APEX (getpoint "\nPick Apex Of Cone: "))

(setq PRO (getreal "\nEnter Projection Of Nozzle: "))

(setq RAD (getreal "\nEnter Radius Of Position of Nozzle On Tank: "))

(setq ROT (getreal "\nEnter Rotation Of Nozzle On Tank From 180: "))

(setq PT1 (polar APEX (DTR 0) RAD))

(setq RISE (/ RAD 3.7320508075688772935274463415059))

(setq PT2 (polar PT1 (DTR 270) RISE))

(setq PT3 (polar PT2 (DTR 90) PRO))

(command "_point" PT3)

(command "_rotate" "si" "l" APEX ROT)

(command"_ucs" "p")

);end of nozzle

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...