Author Topic: Door tagging...  (Read 2298 times)

0 Members and 1 Guest are viewing this topic.

Dommy2Hotty

  • Swamp Rat
  • Posts: 1127
Door tagging...
« on: April 22, 2004, 02:42:06 PM »
I wanted to write a routine for tagging doors, but I don't know where to start.  What I'm looking to do is be prompted to select the door (which would be a block in an x-ref'd dwg), then have the routine reference either an attribute of the block, then write the size as DText (like 3/0 for a 3'-0" door).  Would this be accomplished easier and more efficently with an attribute or xdata?

Keith™

  • Villiage Idiot
  • Seagull
  • Posts: 16899
  • Superior Stupidity at its best
Door tagging...
« Reply #1 on: April 22, 2004, 04:00:27 PM »
I use attributed tags for doors and windows.

Here is the program that builds a schedule based on the tags. I am sure it could be modified to suit your needs....

The block tag is named "WTAG" and it has a single attribute named "SIZE"

The value in the tag is the call out number for the window as opposed to the size, but it could be modified to use sizes....


Code: [Select]

(DEFUN C:WS( / C)
  (SETQ OSMODE (GETVAR "OSMODE"))
  (SETVAR "OSMODE" 0)
  (SETVAR "CMDECHO" 0)
  (SETQ A (SSGET "X" '((2 . "WTAG"))))
  (SETQ NDX 0 E 0)
  (IF A
    (REPEAT (SSLENGTH A)
      (SETQ B (ENTGET(ENTNEXT (SSNAME A NDX))))
      (SETQ C (APPEND C (LIST (CDR (ASSOC 1 B)))))
      (SETQ NDX (1+ NDX))
    )
  )
  (SETQ C (ACAD_STRLSORT C))
  (SETQ ARCH C)
  (SETQ D (CAR C))
  (WHILE D
    (SETQ E (1+ E)
 D (CAR C)
          C (CDR C)
    )
    (IF (AND D (/= D (CAR C)))
      (PROGN
        (SETQ FLIST (APPEND FLIST (LIST D E)))
        (SETQ E 0)
      )
    )
  )
  (IF FLIST
    (PROGN
      (SETQ LINECNT (- (/ (LENGTH FLIST) 2) 1))
      (SETQ OLAY (GETVAR "CLAYER"))
      (SETVAR "CLAYER" "NOTE")
      (SETQ PT1 (GETPOINT "\nTop Left Corner of Window Schedule: "))
      (SETQ PT2 (POLAR (POLAR PT1 0.0 284.0) (ANGTOF "270")(+ (* (LENGTH FLIST) 6.0)25)))
      (SETQ TPT1 (POLAR (POLAR PT1 0.0 2.5) (ANGTOF "270") 33.0))
      (REPEAT (/ (LENGTH FLIST) 2)
        (SETQ TPT2 (POLAR TPT1 0.0 30.0))
        (SETQ TPT3 (POLAR TPT2 0.0 66.0))
        (SETQ TPT4 (POLAR (POLAR TPT3 0.0 40.0) (ANGTOF "90") 7.0))
        (SETQ TPT5 (POLAR TPT4 0.0 94.0))
(GETDATA (CAR FLIST))
        (COMMAND "_.TEXT" "ST" "ARCHSTYL" TPT1 "3.5" "0.0" (CAR FLIST))
        (COMMAND "_.TEXT" "ST" "ARCHSTYL" TPT2 "3.5" "0.0" ROUGH)
        (COMMAND "_.TEXT" "ST" "ARCHSTYL" TPT3 "3.5" "0.0" SASHO)
        (COMMAND "_.MTEXT" TPT4 "ST" "ARCHSTYL" "R" "0.0" "H" "3.5" "W" "90.0" DESCRIPTION "")
        (COMMAND "_.MTEXT" TPT5 "ST" "ARCHSTYL" "R" "0.0" "H" "3.5" "W" "52.0" FASTENING "")
        (SETQ TPT1 (POLAR TPT1 (ANGTOF "270") 12.0))
        (SETQ FLIST (CDDR FLIST))
      )
    )  
  )
  (COMMAND "RECTANGLE" PT1 PT2)
  (SETQ RECTBOT (CADR PT2))
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "WHITE" "")
  (COMMAND "_.TEXT" "ST" "ARCHSTYL" (POLAR (POLAR PT1 (ANGTOF "270") 10.0) 0.0 22.0) "8.0" "0.0" "WINDOW SCHEDULE")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "14" "")
  (COMMAND "_.LINE" (SETQ PT1 (POLAR PT1 (ANGTOF "270") 12.5)) (SETQ PT2 (POLAR PT1 0.0 284.0)) "")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "MAGENTA" "")
  (COMMAND "_.LINE" (SETQ PT1 (POLAR PT1 (ANGTOF "270") 2.5)) (SETQ PT2 (POLAR PT1 0.0 284.0)) "")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "MAGENTA" "")
  (COMMAND "_.TEXT" "ST" "ARCHSTYL" (POLAR (POLAR PT1 (ANGTOF "270") 7.0) 0.0 2.75) "5.0" "0.0" "C.O.")
  (COMMAND "_.LINE" (SETQ PT3 (POLAR PT1 0.0 28.0)) (SETQ PT4 (POLAR PT3 (ANGTOF "270") 10.0)) "")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "MAGENTA" "")
  (COMMAND "_.TEXT" "ST" "ARCHSTYL" (POLAR (POLAR PT3 (ANGTOF "270") 7.0) 0.0 2.75) "5.0" "0.0" "R.O.")
  (COMMAND "_.LINE" PT4 (LIST (CAR PT4) RECTBOT 0.0) "")
  (COMMAND "_.LINE" (SETQ PT3 (POLAR PT3 0.0 66.0)) (SETQ PT4 (POLAR PT3 (ANGTOF "270") 10.0)) "")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "MAGENTA" "")
  (COMMAND "_.TEXT" "ST" "ARCHSTYL" (POLAR (POLAR PT3 (ANGTOF "270") 7.0) 0.0 2.75) "5.0" "0.0" "S.O.")
  (COMMAND "_.LINE" PT4 (LIST (CAR PT4) RECTBOT 0.0) "")
  (COMMAND "_.LINE" (SETQ PT3 (POLAR PT3 0.0 42.0)) (SETQ PT4 (POLAR PT3 (ANGTOF "270") 10.0)) "")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "MAGENTA" "")
  (COMMAND "_.TEXT" "ST" "ARCHSTYL" (POLAR (POLAR PT3 (ANGTOF "270") 7.0) 0.0 2.75) "5.0" "0.0" "DESCRIPTION")
  (COMMAND "_.LINE" PT4 (LIST (CAR PT4) RECTBOT 0.0) "")
  (COMMAND "_.LINE" (SETQ PT3 (POLAR PT3 0.0 92.0)) (SETQ PT4 (POLAR PT3 (ANGTOF "270") 10.0)) "")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "MAGENTA" "")
  (COMMAND "_.TEXT" "ST" "ARCHSTYL" (POLAR (POLAR PT3 (ANGTOF "270") 7.0) 0.0 2.75) "5.0" "0.0" "FASTENING")
  (COMMAND "_.LINE" PT4 (LIST (CAR PT4) RECTBOT 0.0) "")
  (COMMAND "_.LINE" (SETQ PT1 (POLAR PT1 (ANGTOF "270") 10.0)) (SETQ PT2 (POLAR PT1 0.0 284.0)) "")
  (COMMAND "_.CHANGE" "L" "" "P" "COLOR" "MAGENTA" "")
  (REPEAT LINECNT
   (COMMAND "_.LINE" (SETQ PT1 (POLAR PT1 (ANGTOF "270") 12.0)) (SETQ PT2 (POLAR PT1 0.0 284.0)) "")
  )
  (SETVAR "CLAYER" OLAY)
  (SETVAR "OSMODE" OSMODE)
  (PRINC)
)

(DEFUN GETDATA (TAG / WW WH WC)
  (SETQ SASHO NIL ROUGH NIL DESCRIPTION NIL FASTENING NIL)
  (SETQ WW (SUBSTR TAG 1 2)
WH (SUBSTR TAG 3 2)
WC (SUBSTR TAG 6 1)
LITE (SUBSTR TAG 8 5)
  )
  (COND
    ((= WW "16")(SETQ SASHW "1'-8\"" ROUGHW "1'-10\""))
    ((= WW "20")(SETQ SASHW "2'-0\"" ROUGHW "2'-2\"" ))
    ((= WW "24")(SETQ SASHW "2'-4\"" ROUGHW "2'-6\"" ))
    ((= WW "28")(SETQ SASHW "2'-8\"" ROUGHW "2'-10\""))
    ((= WW "32")(SETQ SASHW "3'-0\"" ROUGHW "3'-2\"" ))
    ((= WW "36")(SETQ SASHW "3'-4\"" ROUGHW "3'-6\"" ))
    ((= WW "40")(SETQ SASHW "3'-8\"" ROUGHW "3'-10\""))
    (T (SETQ SASHW "NA" ROUGHW "NA"))
  )
  (COND
    ((= WH "14")(SETQ SASHH "2'-10\"" ROUGHH "3'-1\""))
    ((= WH "16")(SETQ SASHH "3'-2\""  ROUGHH "3'-5\""))
    ((= WH "20")(SETQ SASHH "3'-10\"" ROUGHH "4'-1\""))
    ((= WH "22")(SETQ SASHH "4'-2\""  ROUGHH "4'-5\""))
    ((= WH "24")(SETQ SASHH "4'-6\""  ROUGHH "4'-9\""))
    ((= WH "26")(SETQ SASHH "4'-10\"" ROUGHH "5'-1\""))
    ((= WH "28")(SETQ SASHH "5'-2\""  ROUGHH "5'-5\""))
    ((= WH "30")(SETQ SASHH "5'-6\""  ROUGHH "5'-9\""))
    ((= WH "32")(SETQ SASHH "5'-10\"" ROUGHH "6'-1\""))
    ((= WH "34")(SETQ SASHH "6'-2\""  ROUGHH "6'-5\""))
    ((= WH "36")(SETQ SASHH "6'-6\""  ROUGHH "6'-9\""))
    ((= WH "40")(SETQ SASHH "7'-2\""  ROUGHH "7'-5\""))
    ((= WH "42")(SETQ SASHH "7'-6\""  ROUGHH "7'-9\""))
    ((= WH "80")(SETQ SASHH "6'-8\""  ROUGHH "6'-10 3/4\"")(GETDOOR))
    (T (SETQ SASHH "NA" ROUGHH "NA"))
  )
  (COND
    ((= ROUGHW "NA") (SETQ DESCRIPTION "NA"))
    ((= WC "1")(SETQ ROUGHW (RTOS (-(* (DISTOF ROUGHW) 1) 0.0  )4 4) DESCRIPTION "DBL. HUNG ALUM. CLAD WOOD PREMIUM \"TILT\" WINDOW"))
    ((= WC "2")(SETQ ROUGHW (RTOS (-(* (DISTOF ROUGHW) 2) 0.625)4 4) DESCRIPTION "TWIN - DBL. HUNG ALUM. CLAD WOOD PREMIUM \"TILT\" WINDOW"))
    ((= WC "3")(SETQ ROUGHW (RTOS (-(* (DISTOF ROUGHW) 3) 1.0  )4 4) DESCRIPTION "TPL. - DBL. HUNG ALUM. CLAD WOOD PREMIUM \"TILT\" WINDOW"))
  )
  (SETQ SASHO (STRCAT SASHW  " x " SASHH ))
  (SETQ ROUGH (STRCAT ROUGHW " x " ROUGHH))
  (SETQ FASTENING "8d COMMON NAILS @ 8\" O.C.")
)
(DEFUN GETDOOR()
  (COND
    ((= WW "36")(SETQ SASHW "3'-0\"" ROUGHW "3'-2 5/8\"" DESCRIPTION "WOOD CROSSBUCK DOOR"))
    ((= WW "71")(SETQ SASHW "6'-0\"" ROUGHW "6'-3 1/4\"" DESCRIPTION "DBL. WOOD FRENCH ENTRY DOOR"))
  )
  (COND
    ((AND (= LITE "1LITE")(= WC "1"))(SETQ DESCRIPTION "WOOD FRENCH ENTRY DOOR"))
    ((AND (= LITE "1LITE")(= WC "2"))(SETQ DESCRIPTION "DBL. WOOD FRENCH ENTRY DOOR"))
  )  
  (SETQ WC "0")
)
Proud provider of opinion and arrogance since November 22, 2003 at 09:35:31 am
CadJockey Militia Field Marshal

Find me on https://parler.com @kblackie