Bit coded group 70 in the block definition table![]()
Registered forum members do not see this ad.
For XREF's, I want to change overlays to attachments. Can someone tell me the dotted pair that denotes which is which?
Bit coded group 70 in the block definition table![]()
Lee Mac Programming
With Mathematics there is the possibility of perfect rigour, so why settle for less?
Just another Swamper
No worries Chuck![]()
Lee Mac Programming
With Mathematics there is the possibility of perfect rigour, so why settle for less?
Just another Swamper
I use this get.lsp fuction from an old AutoLisp book I had:
For the 70 bitcode, I get (70 . 0) for both Xref's that are attached and Xref's that are overlayed. Shouldn't I be getting a different value for one of them?Code:(defun c:get () (SETQ ENT (ENTSEL)) (SETQ ENT1 (ENTGET (CAR ENT))) (SETQ CT 0) (TEXTPAGE) (PRINC "\n ENTGET OF SELECTED ENTITY:") (REPEAT (LENGTH ENT1) (PRINT (NTH CT ENT1)) (SETQ CT (1+ CT))) (princ) )
Lee Mac Programming
With Mathematics there is the possibility of perfect rigour, so why settle for less?
Just another Swamper
Ah....
(70 . 36) = attached
(70 . 44) = overlay
Thank You, Domo Arigato, Muchas Gracias, and Cheers...
Chuck
Slightly more complex than that...
Code:(defun isXRef ( blockname ) (= 4 (boole 1 4 (GetBlockFlag blockname))) ) (defun isOverlay ( blockname ) (= 8 (boole 1 8 (GetBlockFlag blockname))) ) (defun GetBlockFlag ( blockname ) (if (setq def (tblobjname "BLOCK" blockname)) (cdr (assoc 70 (entget def) ) ) ) )
Lee Mac Programming
With Mathematics there is the possibility of perfect rigour, so why settle for less?
Just another Swamper
I did the manual "double click" on all the overlays within some building plans yesterday. I am working on automating that portion for future updates from that architect. Had to start with which parameter to change.
I plugged your code into the get function:
I am still getting an error, but was able to copy/paste portions to the text editor to get the resulting values. I'm still trying to fix it up.Code:(defun GetBlockFlag ();\ blockname) (setq blockname (cdr (assoc 2 ENT1))) (if (= (cdr (assoc 0 ENT1)) "INSERT") (progn (setq def (tblobjname "BLOCK" blockname)) (cdr (assoc 70 (entget def))) ) ) ) (defun c:get () (SETQ ENT (ENTSEL)) (SETQ ENT1 (ENTGET (CAR ENT))) (SETQ CT 0) (TEXTPAGE) (PRINC "\n ENTGET OF SELECTED ENTITY:") (REPEAT (LENGTH ENT1) (PRINT (NTH CT ENT1)) (SETQ CT (1+ CT))) (getblockflag) (princ) )
Registered forum members do not see this ad.
Code:(defun c:get ( / ss ) ;; Lee Mac (if (setq ss (ssget "_+.:E:S" '((0 . "INSERT")))) (print (GetBlockFlag (cdr (assoc 2 (entget (ssname ss 0)) ) ) ) ) ) (princ) ) (defun GetBlockFlag ( blockname ) ;; Lee Mac (if (setq def (tblobjname "BLOCK" blockname)) (cdr (assoc 70 (entget def) ) ) ) )
Lee Mac Programming
With Mathematics there is the possibility of perfect rigour, so why settle for less?
Just another Swamper
Bookmarks