the-trooper Posted August 26, 2009 Posted August 26, 2009 Hello everyone. Is it possible to create an undeletable object (line or text) in a dwg? I need something that would serve as "trademark" on DEFPOINTS, in our blocks sent to others. Thanks in advance! Quote
ReMark Posted August 26, 2009 Posted August 26, 2009 This sounds like something that might possibly be doable using Visual LISP but I'm not a programmer so I cannot say with 100% certainty that it can be done. I've read where someone has used Visual LISP to make objects visible or invisible by resetting their visibility property. Perhaps there is a 'lock' property? Someone like Lee Mac might be able to provide you with a more definitive answer. Quote
the-trooper Posted August 26, 2009 Author Posted August 26, 2009 Thanks, ill contact Lee Mac. In meantime, admins, if this thread is in a wrong place, please move it to the right one Quote
Lee Mac Posted August 26, 2009 Posted August 26, 2009 How about switching off the Visibility of an Object? AFAIK this makes it undetectable Quote
alanjt Posted August 26, 2009 Posted August 26, 2009 How about switching off the Visibility of an Object? AFAIK this makes it undetectable visibility is the only real option. however, the little light bulb at the bottom corner will show that something's visibility is 'turned off' and can easily be turned back on. especially problematic if these functions are actually utilized by the user. with the way C3D styles ignore layers, i use the isolate and hide function at times. just a little food for thought. .......can an object reactor prevent erasing? Quote
Lee Mac Posted August 26, 2009 Posted August 26, 2009 Obviously, if you made a Block Invisible - it would still show up in the Block Editor, so an object would be better. The Object would still appear in the drawing database, but would be "un-selectable" by the user (and would only be able to be accessed by other means). Quote
Lee Mac Posted August 26, 2009 Posted August 26, 2009 however, the little light bulb at the bottom corner will show that something's visibility is 'turned off' and can easily be turned back on. Light bulb? Quote
the-trooper Posted August 26, 2009 Author Posted August 26, 2009 You're talking about visibility state in block editor? Quote
alanjt Posted August 26, 2009 Posted August 26, 2009 i take it back, it doesn't detect it. (vla-put-visible (vlax-ename->vla-object (car (entsel))) :vlax-false) will do exactly what you want. Quote
Lee Mac Posted August 26, 2009 Posted August 26, 2009 Don't think I have that light bulb in ACAD 2010. Quote
Lee Mac Posted August 26, 2009 Posted August 26, 2009 You lost me guys... What would you like to be made invisible? Quote
the-trooper Posted August 26, 2009 Author Posted August 26, 2009 What would you like to be made invisible? One line of text, doesn't even need to be text, i can "write" it with lines/polylines. But it must be visible, on screen. On defpoints, so others can plot normally. Should be undeletable. Quote
ReMark Posted August 26, 2009 Posted August 26, 2009 I thought we were trying to lock an object? CADTutor himself suggested the use of a 'read-only' xref to a similar question. That assumes the person that the drawing is sent to does not know how to reset the read-only attribute. Do most people know how to do that these days? I do but then I grew up with DOS. Quote
dbroada Posted August 26, 2009 Posted August 26, 2009 bottom right corner: no, never seen that either. Quote
Lee Mac Posted August 26, 2009 Posted August 26, 2009 If it was invisibility you were looking for: (defun c:invis (/ ent) (vl-load-com) (if (setq ent (car (entsel "\nSelect Object: "))) (vla-put-Visible (vlax-ename->vla-object ent) :vlax-false)) (princ)) (defun c:vis (/ ss) (vl-load-com) (if (setq ss (ssget "_X")) (mapcar (function (lambda (x) (vla-put-visible (vlax-ename->vla-object x) :vlax-true))) (mapcar 'cadr (ssnamex ss)))) (princ)) *couldn't resist* But as for undeletable.... hmm, thats a bit trickier. Obviously a locked layer is the simple answer, but that assumes they don't know how to unlock a layer.. which is pretty obvious. Perhaps a persistent object reactor could do the trick, but I've never done anything like that, so we are stabbing in the dark a bit here... Quote
ReMark Posted August 26, 2009 Posted August 26, 2009 Stabbing in the dark. That sounds like a job for Super Mac! I bet you could figure it out. Quote
mdbdesign Posted August 26, 2009 Posted August 26, 2009 How about something like "Educational stamp" but in visible and non plot-able version? Quote
Lee Mac Posted August 26, 2009 Posted August 26, 2009 How about something like "Educational stamp" but in visible and non plot-able version? I think the Educational Stamp is a lot deeper than LISP Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.