PDA

View Full Version : Program to detect cheating in AutoCad



Mrdark
10th Nov 2005, 03:55 am
I am looking for a program that detects cheating with autocad? Ex. Copying one persons drawing and calling it their own. I know Universities and other technical schools have such a program.

Thankyou,

MrDark

CADTutor
10th Nov 2005, 09:50 am
Humm, that's interesting. I must admit that I haven't heard of that before. One of the great joys and efficiencies in using a CAD programme is the ability to "share" content.

I don't use any such software in my teaching because it's usually obvious if this sort of thing has been going on - in fact, I often run group projects where a student team will have to work together and share data since this is much more of a real world situation.

What's your particular concern?

CADbug
10th Nov 2005, 11:14 am
well we have been facing the similar problem in our college. But we had no other option than ignoring it!!

hendie
10th Nov 2005, 11:51 am
ask your students to turn on the log file and ask them to submit the log file with their work. ~ and award a percentage of the mark to the log file ~ that way, if they don't submit one, they lose a mark or two !


I seem to remember this being discused in depth before ~ wasn't it on this forum ?

other than that, the only thing you can do is to find an error and see if this error is replicated on other drawings

CADbug
10th Nov 2005, 12:02 pm
other than that, the only thing you can do is to find an error and see if this error is replicated on other drawings

:D this is what we do to catch the cheaters!

Dommy2Hotty
10th Nov 2005, 03:53 pm
Check the TDCREATE variable. They CAN NOT be the exact same unless it IS the same drawing

David Bethel
10th Nov 2005, 04:03 pm
If you are teaching introductory or maybe even intermediate students, I would think XDATA would be good tool. It can be fairly difficult to remove or edit for a newbie.

At the end or start of each session, check that each entity has the repective author's name or ID. Radmonly during the session and at the end of the session, add the author's name to new entitites


(defun add_xdata_str (e a v);;;EName APPID String_value
(and (not (tblsearch "APPID" a))
(regapp a))
(and (= (type e) 'ENAME)
(= (type v) 'STR)
(= (type a) 'STR)
(entmod
(append (entget e)
(list
(cons -3
(list
(cons a
(list (cons 1000 v))))))))))




(add_xdata_str "Author" ename (getvar "LOGINNAME"))

or maybe (getvar "_PKSER") if the software was installed from individual disks.

-David

Dommy2Hotty
10th Nov 2005, 04:03 pm
Taken from CadResource.com (http://www.cadresource.com/library/utilities.html)


TDCREATE.ZIP (http://www.cadresource.com/library/utilities/tdcreate.zip)Compares autocad drawing files for same TDCREATE systemvars. If two or more files have the same TDCREATE date list these filenames. Useful for AutoCAD course teachers to check if any two students started with the same drawing, somebody used anothers dwg as prototype, but it cannot be checked if someone inserts another dwg in to his. (my students aren't that good with blocks :) (Will come in the next version, it is possible by checking the handles) New with V1.3:bugfix: date conversion corrected, error after the comma filespec functions removed

Martinkorson
11th Nov 2005, 07:23 pm
you could give a short in class quiz that asks what command they used to draw a certain part of the drawing. you could also check to see who has bak files and who doesn't and if the bak are copies. you could also tell them how long it should take them to finish a drawing and then ask them to write the actual amount of time on the drawing. If the times are to short or to long or exactly the same then you could wonder if someone is cheating.

unfortunately with every attempt to catch cheaters there is a way to avoid getting caught.

Lazer
11th Nov 2005, 10:03 pm
My teacher at tech spotted every little error we did on cad.

On the acad city&guilds 4 the one with big house, his eyes where all over it from start to finish and he always asked questions and helped us out.

Infact on all projects at college he was there helping out and new what we where doing at all times, Again eyes all over what we where doing.

There was no way you would even think about pulling the wool over his eyes.

Now this is no program stop cheating....but it does stop cheating.

Dommy2Hotty
11th Nov 2005, 10:45 pm
I was enrolled in a customizing AutoCAD class and became a TA. We were faced with a crafty student that had nothing handed in one day, and the next day, 15 drawings handed in. Checked the modified date thru Windows Explorer, all the same date & time. He said it was probably because he burned them on a cd. We used a LISP like the one I listed above and found that what he did was copy another student's drawings from the network drive and changed the title block, moved some entities around and saved it as his. The TDCREATE dates were the same as the student's that he STOLE from.

Spacepig
12th Nov 2005, 12:42 pm
It depends on how clever / stupid the person is. The easiest way of doing this is to assign a hidden attribute to the drawing sheet, possibly encripted that is assigned automatically when you bring in the drawing sheet (using a lisp routine from a pull down menu for example). If no mention of this is said to the students an they simply copy someone else's work and change the title block, they wouldn't realise the attribute wasn't being changed and could be checked easily by the tutor.

Another method if you already suspect you know who it's been copied from would be to check the entity names of various items in each drawing. If they match it's 99.9% certain it's copied.

Spacepig

fuccaro
14th Nov 2005, 05:59 am
Spacepig
Let me continue your phrase.
Write a huge text across the drawing and hide it. When you see a suspicious drawing you can search for hidden objects. Just imagine the effect when someone shows "his own" creation and you make to appear something like "Drawing STOLED from … (your name goes here)".
You may hide company logo or other info too. When the title date block is complete copy it in top of itself and hide the copy. Even if the enemy will change or delete it you can recall the original one!

Tip: don't hide too much data. You can end up with a very simple drawing stored in a big file.

Here are two small routines. Can you find other ways to use them?
Have fun!


; routines to Hide/UnHide drawing objects
; Miklos Fuccaro mfuccaro@hotmail.com
; Nov. 2005
;
(defun c:hide_me( / en el)
(setq en (car (entsel)))
(if en (progn
(setq el (entget en)
el (if (assoc 60 el)
(subst '(60 . 1) (assoc 60 el) el)
(reverse (cons '(60 . 1) (reverse el)))
))
(princ (strcat (cdr (assoc 0 el))
(if (entmod el) " hided" " FAILED TO HIDE!")
))
)
(princ "Nothing selected")
)
(princ)
)

(defun c:unhide_all( / ss i el)
(setq ss (ssget "X" (list '(60 . 1))) i -1)
(if ss (progn
(repeat (sslength ss)
(setq el (entget (ssname ss (setq i (1+ i))))
el (subst '(60 . 0) (assoc 60 el) el))
(entmod el)
)
(princ (strcat (itoa (1+ i)) " unhided"))
)
(print "Nothing to unhide"))
(princ)
)

Lee Mac
30th Aug 2009, 02:15 pm
Nice Idea Fuccaro,

Here it is in VL also:



(defun c:hideObj (/ ss)
(vl-load-com)
(if (setq ss (ssget ":L"))
(mapcar
(function
(lambda (x)
(vla-put-visible (vlax-ename->vla-object x) :vlax-false)))
(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))))
(princ))

(defun c:reveal (/ ss)
(vl-load-com)
(if (setq ss (ssget "_X" '((60 . 1))))
(mapcar
(function
(lambda (x)
(vla-put-visible (vlax-ename->vla-object x) :vlax-true)))
(mapcar 'cadr (ssnamex ss))))
(princ))

Tankman
7th Sep 2009, 08:11 pm
We did "cheat" in our drafting courses, early 60's.
Usually we got caught, almost always! Face the music!

AutoCAD is a share work, team work. Work is open to all working in the real life scenario group. That's the way it is supposed to work.