I have a block with an "attdef". The tag is "ref #" and when I use the "ddatte" command the value for the tag is "C1". But when I run my LiSP routine it returns the vale of "??" instead of "C1". Here is part of the code, can someone tell me why it's returning "??" instead of "C1"? (setq block_ent (entget block_entity)) ;gets the DXF codes for the block entity (setq insert_point (cdr (assoc 10 block_ent))) ;returns the insertion point of the block (setq block_rotation (cdr (assoc 50 block_ent))) (setq block_name (cdr (assoc 2 block_ent))) ;returns the name of the block of the selected entity (setq subent (cdr (assoc -2 (tblsearch "BLOCK" block_name)))) ;returns entity name for subent (setq subent_data (entget (cdr (assoc -2 (tblsearch "BLOCK" block_name))))) ;returns DXF info for subentity (setq entity_type (cdr (assoc 0 (entget subent)))) (while (/= subent nil) (if (or (= entity_type "ATTRIB")(= entity_type "ATTDEF")) (progn (setq text_loc_X (cadr (assoc 11 subent_data))) (setq text_loc_Y (caddr (assoc 11 subent_data))) (setq relative_text_loc (list (+ (car insert_point) text_loc_X)(+ (cadr insert_point) text_loc_Y))) (setq text_loc_angle (+ (angle insert_point relative_text_loc) block_rotation)) (setq text_loc_distance (distance insert_point relative_text_loc)) (setq new_text_loc (polar insert_point text_loc_angle text_loc_distance)) (setq text_height (cdr (assoc 40 subent_data))) (setq text_value (cdr (assoc 1 subent_data))) : : : Thanks. Mark