AutoCad Manhole LISP
Hi guys,
I know this has been discussed (https://surveyorconnect.com/community/threads/rim-inverts.252130/) and I followed that thread, but I don’t want to create this for C3D as not everyone in my office has C3D.
What I would like to create is a simple (I hope it is) LISP routine that does the following :
In the field we would open all the manhole and then survey both the Lidlevel and Invert Level. The Pipe diameter, inlet direction, outlet direction would either be noted in fieldsketch book, or by annotating photos in the field.
Typical CSV file of those 2 points would like this :
S001, 94185.214, 2891514.874, 1524.465, RMH-CL
S002, 94185.264, 2891514.894, 1521.322, RMH-ILThe fielsketch would look something like this :
I import my points using Carlson, and would run it through F2F and getting LL and IL is easy enough but not exactly what I need to happen.
All my Manhole points (SMHxx,RMHxx, etc) goes into a point group and I display only that point groupAt this stage I am only seeing points relating to manhole information.
I want to be able to run a LISP then click on a the LL point and want to have a dialog or similar appear and ask me for the following information regarding that manhole:
1. Define text and arrow head size (Must be equal at this stage to make it easier)
2a. The point that is the IL (IL survey point must be clicked) OR
2b. If no IL could/was surveyed the dip height must be typed in
If 2a is selected the LL , IL and depth (dip height) must be written to text only after question 11 has been answered
If 2b is selected the LL , IL (subtract dip height from LL) and dip height must be written to text only after question 11 has been answered
3. How many pipes flow into the manhole (Type that data)
4. How many pipes flow out of the manhole (Type that data)
5. For number of pipes entered at question 3 there must be asked for each pipe the diameter. Example if “3” was entered
– Pipe diameter of Inlet Pipe 1 (Type in value) (Pipe at RED DOT in image)
– Pipe diameter of Inlet Pipe 2 (Type in value) (Pipe at ORANGE DOT in image)
– Pipe diameter of Inlet Pipe 2 (Type in value) (Pipe at BLUE DOT in image)
6. For number of pipes entered at question 4 there must be asked for each pipe the diameter. Example if “1” was entered
– Pipe diameter of Outlet Pipe 1 (Type in value) (Pipe at PURPLE DOT in image)
7. For each pipe in question 3, a starting point needs to be indicated from where the pipe is flowing from. The direction needs to be calculated from the point clicked to the point selected in the original command (From pipe – manhole LL). In fieldsketch above from RED DOT to RMH LL. An arrow should then be drawn in that direction, but the arrow tip should be where the RED DOT is. Not from RED DOT to RMH LL (otherwise no space for MH symbol/they will overlap)
8. For each pipe in question 4, an ending point needs to be indicated from where the pipe is flowing towards. The direction needs to be calculated from the point selected in the original command to the point clicked (From manhole LL – pipe). In fieldsketch above from RMH LL to PURPLE DOT. An arrow should then be drawn in that direction, but the arrow tail should be where the PURPLE DOT is. (otherwise no space for MH symbol/they will overlap).
9. For each pipe defined in question 3, the location of the “Pipe Diameter = xxxx” must be indicated by clicking on screen and text placed there.
10. For each pipe defined in question 4, the location of the “Pipe diameter = xxxx” must be indicated by clicking on the screen and text placed there.
11. The type of manhole (SEWER, CABLE, STORMWATER, etc etc) must be selected from dropdown list, or the option to type another one in should be available (BLOCKED etc etc) and location for text must be definedI think that is what would be the ideal LISP. There might be some adjustments that are needed to make it better (like the “Pipe diameter = xxxx” should be written in the same direction as the arrow is pointing, the text should be placed in layer “manhole details” etc)
I have also attached an image of what I think the final product should look like.
If someone could help me get started on something like this or already has something to this effect I would be immensely grateful. I have programming knowledge in Java, C++,VBA and Delphi, but it is nearly 10 years ago and I was a beginner.
FINAL PRODUCT :
Thank you guys
Dirk Uys
Log in to reply.