Jump to content

Program to detect cheating in AutoCad


Mrdark

Recommended Posts

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Taken from CadResource.com

 

TDCREATE.ZIPCompares 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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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  [email="mfuccaro@hotmail.com"]mfuccaro@hotmail.com[/email]
;  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)
 )

Link to comment
Share on other sites

  • 3 years later...

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))

Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

  • 3 years later...
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))

 

 

:shock:Wow, this is really useful for me to publish and review documents, but if it could plot the hidden objets as a watermark it will be wonderful!!:D

 

Can you help me with this, please??:roll:

Link to comment
Share on other sites

well we have been facing the similar problem in our college. But we had no other option than ignoring it!!

 

No way that I would ignore it.

 

The first step is to prevent cheating before it begins.

I have what I call my "Big Dogs and Puppies" speach I give the first day (all about alpha males/females, puppies following along....) and let them know I have secret ways to detect cheating (which I do).

 

I learned this the hard way after having to confront cheaters (not a pleasent task). Scare it out of them up front.

 

In most cases I haven't needed to go deep into the file (entity ID) as cheaters never seem to be very good at it - quite obvious things like dimensions placed in exactly (and I mean exaclty) the same locations, same mistakes on the drawings... ... I can go on and on.

 

I also have them create their own templates step-by-step and have them put certain things (as indicated above by others) in their personal templates that will call out the cheaters. I let them know these things will indicate when cheating occurs. Either none of them are smart enough to defeat my checks, or they are very smart. In my experience the very smart ones don't need to cheat and the ones who do aren't very good at it - at all.

 

Again, get this reinforced in the first week or two and it doesn't become a problem.

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...