TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: whdjr on September 28, 2005, 11:44:58 AM

Title: Door Numbering Pains
Post by: whdjr on September 28, 2005, 11:44:58 AM
From the beginning of time our office has numbered rooms by building such that this building is the 100's and that one is the 200's and then the 300's and so on.  This is also done for the doors.  Because there are always more doors than rooms the door numbers quickly surpass the room numbers.  Well someone in our office came up with the idea of the door taking the number of the room it opened into.  The door numbers are suffixed with a letter designation starting at 'A' and increase up the alphabet depending on how many doors open into that room.

Our room block and door block(as seen in picture) have attributes attached to them that contain all the data to fill out our Room Finish Schedule and Door Schedule.

I am looking for a good idea of how to tie the door block to the room block so that the door numbers do not have to be numbered individually.  All ideas will be appreciated.

This technology is currently available in ADT using spaces, walls, and specific pre-built tools.  That type of system is what I am trying to think up.  Please dust off your thinking caps and lend a thought to this discussion.
Title: Re: Door Numbering Pains
Post by: SPDCad on September 28, 2005, 01:04:21 PM
The way you are about to label your doors has been a practice of mine for years.
At my former place of employment I wrote a lisp that first asks you pick the room number then the proceding doors. When there are no more doors in the room you hit enter and then pick another room number.

The lisp labels the doors based on the room number and then adding A, B, C etc. (ie. 100A) until you pick another room, which sounds like what you are proposing.
I think I may still have the lisp, (gotta check the home archives). If I do I will either post it here or email you a copy.
Title: Re: Door Numbering Pains
Post by: whdjr on September 28, 2005, 01:29:10 PM
Yeah that's exactly how we are going to number our doors.  I have been trying to find some way to link the door numbers to the room numbers using fields but I haven't found a way yet.  The program you described is the same I was thinking it through.  I am going to go ahead and start the coding, but if you find anything please post it.

Thanks,
Title: Re: Door Numbering Pains
Post by: Andrea on September 28, 2005, 07:39:59 PM
Similar to SPDcad....

the program may work like this..
once the room tag is entered..
type your comand, and than pick the room tag to insert door type.

via a lisp or any routine, you can use your room tag and add incremental aphabetic letter each time
you need to add a door. but don't forget...if door tag with suffix A is already present...start at B and so on..

Also, you can use FIELD function to read text,mtext, attribute and more..
and in the same action...fill a door schedule.

here, this is how I would program the thing.
Title: Re: Door Numbering Pains
Post by: Bob Wahr on September 28, 2005, 08:07:12 PM
what could be nifty is a separate routine that would go though and check for gaps in the numbering.  Now we all know that architects never remove doors on a whim but just on the off chance that a door or 50 did get removed, run the routine and let it relabel to fill in gaps in the numbering caused by removing the doors.
Title: Re: Door Numbering Pains
Post by: CAB on September 28, 2005, 08:22:07 PM
In the case where a door tag exist & a door is added to the room.
The routine should allow you to pick the Door Tag  ILO the Room tag
to continue the letter increment.
Title: Re: Door Numbering Pains
Post by: Kerry on September 28, 2005, 08:22:59 PM
Is it acceptable for a toilet door to swing out into a corridor ?
Title: Re: Door Numbering Pains
Post by: Serge J. Gianolla on September 28, 2005, 09:58:27 PM
Quote
what could be nifty is a separate routine that would go though and check for gaps in the numbering.
If memory serves me right, Luis [LE] had something like this for grid layout with reactors, that was doing the auto-adjustment as soon as you flicked one or more lines...
Title: Re: Door Numbering Pains
Post by: Serge J. Gianolla on September 28, 2005, 10:02:58 PM
Quote
Is it acceptable for a toilet door to swing out into a corridor ?
Maybe this door is so well hidden, that it does not have much chance to hit someone walking past? :|
Title: Re: Door Numbering Pains
Post by: Serge J. Gianolla on September 28, 2005, 10:42:21 PM
Ciao Luis,
If you want i can take care of your CD, so it does not get too lonely! :lmao:
Serge
Title: Re: Door Numbering Pains
Post by: whdjr on September 29, 2005, 08:21:35 AM
Thanks for all the input guys.

I am hashing it out right now.  It is not elegant but it seems to work.
Title: Re: Door Numbering Pains
Post by: Keith™ on September 29, 2005, 10:59:07 AM
Is it acceptable for a toilet door to swing out into a corridor ?
In most jurisdictions it is acceptable, provided the minimum corridor width is maintained with the door in a full 90 degree open position.
Title: Re: Door Numbering Pains
Post by: LE on September 29, 2005, 02:51:26 PM
All ideas will be appreciated.

I used ADT but 'till version 2.0.... anyway also do not have an idea if the door numbers can be setup to do what you are looking for - done with ADT

What I use, is a sequence command, that takes care of the numbering automatically, all base on the COPY and ERASE commands [but my doors and windows numbering are 01, 02....].

In example, you define a block name to use [in my case a block with a single attribute], and also, the name of the dictionary and then, just insert a "0" attribute value for a dummy block, and after copying one at a time, the attribute is change to "01", 02, 03.... 09.... 10, etc.

If one is erase, all the blocks are updated, you copy an existing one, and is ignored, if a block with the last value is copied, then it will have the next sequence.... and so on....

I have not played to much with fields...

Have fun,
Luis.
Title: Re: Door Numbering Pains
Post by: whdjr on September 29, 2005, 02:54:28 PM
I would be interested in seeing how you implemented that with dictionaries.  :-)
Title: Re: Door Numbering Pains
Post by: whdjr on September 30, 2005, 09:37:52 AM
I appreciate that LE but I really wanted to see the code so I could see how you were able to get that to work. :mrgreen:
Title: Re: Door Numbering Pains
Post by: LE on September 30, 2005, 09:40:25 AM
I appreciate that LE but I really wanted to see the code so I could see how you were able to get that to work. :mrgreen:

Did you tested?.... and it is close to what you where looking for?
Title: Re: Door Numbering Pains
Post by: LE on September 30, 2005, 09:48:57 AM
Can you implement a similar system using the new dynamic blocks and or with fields?...
Title: Re: Door Numbering Pains
Post by: whdjr on September 30, 2005, 10:18:10 AM
I appreciate that LE but I really wanted to see the code so I could see how you were able to get that to work. :mrgreen:

Did you tested?.... and it is close to what you where looking for?

Yes I tested it.  I'm not sure if I like it or not.  It will take a little getting used to.
Can you implement a similar system using the new dynamic blocks and or with fields?...
No I don't think so.

What I meant by my earlier comment about the code was that you sent me a fas file which I can't read and I really wanted to look at your code.
Title: Re: Door Numbering Pains
Post by: LE on September 30, 2005, 10:30:22 AM
Yes I tested it.  I'm not sure if I like it or not.  It will take a little getting used to.

That is what I use for my projects, and it is very simple.

Quote
What I meant by my earlier comment about the code was that you sent me a fas file which I can't read and I really wanted to look at your code.

I tried to post [actually did] about vlisp reactors and I do not saw/see any interest at all, anyway I decided then to simple post compiled code and maybe I will post some sample code open.... sometimes.

Have fun,
Luis
Title: Re: Door Numbering Pains
Post by: CAB on September 30, 2005, 10:38:12 AM
Luis,
I see you have a lot of experience with reactors so let me ask you.
I have read that reactors in lisp were unreliable and that they cause
delays in the drawing environment. This is why I have avoided them.

Is the reliability issue a function of how well the routines were written?
Do they cause noticeable slow downs in drawings with reactors?

Thanks
Title: Re: Door Numbering Pains
Post by: MP on September 30, 2005, 10:44:45 AM
In my experience reactors aren't the problem per se, but the inexperienced use of them and the fact that so many hands can pen them. I use them very stringently and sparingly, implementing them so that they process what they gotta do quickly and then exit pronto so they don't affect normal processing speed. But for general programming? IMO they are a last resort to be considered after non event based solutions have been exhausted.

/just me
Title: Re: Door Numbering Pains
Post by: LE on September 30, 2005, 10:52:56 AM
Luis,
I see you have a lot of experience with reactors so let me ask you.
I have read that reactors in lisp were unreliable and that they cause
delays in the drawing environment. This is why I have avoided them.

Is the reliability issue a function of how well the routines were written?
Do they cause noticeable slow downs in drawings with reactors?

Thanks

I have studied them a lot, and implemented since vital lisp, I don't use them as I use to in the past, lately I simple have some routines, for very specific tasks.

Rectors/events are not for everything....