Xref AutoCAD

คนใช้โปรแกรมใหม่ๆมักจะไม่รู้จัก Xref ไม่รู้ว่ามันคืออะไร ทำงานยังไง มีประโยชน์ยังไง ทำไม AutoDesk จึงสร้าง Xref นี้มา ผมว่าเรามารู้จักมันก่อนดีกว่า
XREF ย่อมาจาก External Referances แปลกันง่ายๆก็คือการแนบไฟล์ที่อ้างอิงจากภายนอก
ซึ่งมักจะใช้เมื่อต้องการแนบไฟล์จากภายนอกที่มักจะใช้ร่วมกับไฟล์อื่นๆ เป็นการเขียนแบบโดยใช้ฐานข้อมูลเดียวกัน ยกตัวอย่างให้เข้าใจง่ายๆก็คือ
เมื่อเขียนงานผังแปลนงานสถาปัตย์ของอาคารแล้ว ยังต้องนำผังที่เขียนนี้ไปใช้เขียนงานระบบไฟฟ้าหรือประปา การใช้ไฟล์แนบที่เป็น Xref จะสะดวกกว่าการใช้ไฟล์ของงานสถาปัตย์ แม้จะทำเป็น Block ก็ตาม เพราะการปรับแก้ไขจะต้องทำหลายๆรอบในงานแต่ละงานของแต่ละไฟล์ ส่วนการใช้ไฟล์แนบที่เป็น Xref หากมีการปรับแก้ไขก็เพียงทำการแก้ไขในไฟล์ต้นทางหรือต้นฉบับเพียงไฟล์เดียวเท่านั้น ไฟล์อื่นๆที่ทำการแนบ Xref ก็จะ Load ไฟล์ที่อัพเดทเข้ามาแทนที่เมื่อ Reload หรือเปิดไฟล์ใหม่ครับ
ในบางครั้งงานต้นทางหรือต้นฉบับ (Xref file) อาจจะยังปรับแก้ไขอยู่ หรือยังเขียนไม่เสร็จ เราก็ยังสามารถดึงมาเพื่อเขียนในส่วนอื่นๆได้ครับ แต่เดิมยุคเก่าก่อนการเขียนแบบผ่านระบบ Lan หรือ Network มักจะนิยมใช้กัน เพราะสะดวกในการแยกงานกันทำครับ แบ่งงานให้แต่ละคนเขียนกันคนละส่วนแล้วสุดท้ายก็นำมาประกอบกัน เพราะการแนบไฟล์ Xref สามารถแนบไฟล์ได้หลายๆไฟล์ครับ(ยังย่อขยายและหมุนได้อีกด้วย)
การใช้คำสั่ง Xref  
คำสั่ง XATTACH หรือคำสั่งย่อ XA เป็นคำสั่งที่ใช้แนบไฟล์จากภายนอก
หรือจะใช้คำสั่งจาก Pulldown ตามรูป

หรือจะเปิดใน EXTERNAL REFERENCES โดยใช้คำสั่ง ER ก็ได้ครับ


( เรายังสามารถใช้ DesignCenter แนบ xrefs ได้ด้วยโดยการลากเข้ามาใส่ในไฟล์ )
เมื่อแนบไฟล์ XREF จะมีไอคอนจะปรากฏขึ้นที่มุมขวาล่างของหน้าต่างโปรแกรม

ระวัง ! If you open, insert, or attach an xref from an Autodesk Educational Product, the drawings you plot contain the following banner: “PRODUCED BY AN AUTODESK EDUCATIONAL PRODUCT.”

เมื่อใช้คำสั่ง Xattach แล้วจะมี Dialog box ให้ open file เพื่อที่ต้องการแนบ


เมื่อเลือกไฟล์แล้วจะมี Dialog box เพื่อให้กำหนดตำแหน่งอ้างอิงที่ต้องการแนบไฟล์จากภายนอก


เท่านี้ก็เป็นการแนบไฟล์จากภายนอกเป็นที่เรียบร้อยครับ

เมื่อมีการปรับปรุงแก้ไขไฟล์ต้นแบบที่ใช้แนบหรือ Xref file ให้ใช้คำสั่ง Reload ตามรูปเพื่อเป็นการปรับปรุงไฟล์แนบให้ใช้ไฟล์ที่ได้ปรับปรุงแล้ว หรือจะปิดไฟล์แล้วเปิดไฟล์ใหม่อีกครั้งก็ได้ครับ



ส่วนการปรับค่าการแสดงไฟล์แนบ Xref ให้ดูที่นี้ครับ XDWGFADECTL เป็นการปรับความโปร่งแสงของ Xref ครับ

ขอให้โชคดีครับ

acad.fas cad.fas คืออะไร

Virus used acad.fas
ห่างหายไปนานกับปัญหา AutoCAD แล้ววันนี้ก็ได้เจอปัญหาใหม่เข้ามาอีก ยังไม่รู้ว่าจะเป็นปัญหาใหญ่ขนาดไหนมาลองดูกันครับ
acad.fas และ cad.fas คืออะไร โดยตัวมันเองบอกว่าเป็น AutoCAD Fast Load AutoLISP File
โดยที่ผมเจอคือ เป็นไฟล์ที่มีลักษณะเป็นไวรัส หรือสคริปไฟล์ ที่สร้างตัวมันขึ้นมาในโฟลเดอร์ที่เราเปิดใช้งานไฟล์ AutoCAD แล้วมันยังเข้าไปแทรกซึมใน Winsys.ini ในโฟลเดอร์ C:\Windows ในบางครั้ง เพื่อที่จะเข้าไปทำลายระบบ ให้เปิดเครื่องช้า ช้ามากๆด้วยครับ

ฝรั่งบางคนว่ามันมาจากประเทศจีน ส่งมาในรูปแบบของ Dwg กับงานที่เราใช้งานอยู่ เป็นชุดคำสั่งเพื่อสร้างไวรัสซ่อนอยู่ใน acad.fas และ cad.fas บางคนอาจจะไม่ทันได้รู้ว่ามันคือไวรัส ซึ่งถ้าพวกเราเปิด AutoCAD แรกที่ Drawing1 ไวรัสacad.fas จะไม่รันไฟล์ ACADLSPASDOC และเมื่อ AutoCAD เห็นว่ามีไฟล์ acad.fas แล้ว Virus AutoCAD จึงเริ่มทำงาน

AutoCAD and Viruses
สิ่งเลวร้ายที่มันทำงาน คือ
มันจะคัดลอกตัวเองไปยังโฟลเดอร์ในเส้นทาง AutoCAD สร้างไฟล์ acad.fas และ cad.fas
วันนี้ผมโดยมันกิน PROXY ไปด้วย มันคงเข้าไปปรับค่าระบบต่างๆ ทำให้ AutoCAD รวน
มันทำให้เส้น Contour ของผมหายไปแล้ว มีแต่ตัวอักษร ไม่มีเส้นเลย

มันยังสร้างไฟล์ acad.sys ในโฟลเดอร์ที่เราเข้าไปใช้งานด้วย

บางครั้งมันคัดลอกตัวเองและแฟ้ม acad.sys ไปโฟลเดอร์ Windows ของเรา (C:\Windows) และเปลี่ยนชื่อตัวเองไป winfas.ini และ acad.sys เปลี่ยนชื่อไป winsys.ini

บางครั้งมันจะสร้างไฟล์ที่เรียกว่า dwgrun.bat ในโฟลเดอร์ระบบ Windows ของคุณ (C: \ Windows \ System32 หรือ C: \ Windows \ SysWOW64) ไฟล์ นี้มีคำแนะนำในการคัดลอกและ winfas.ini winsys.ini ให้เป็นหนึ่งในสถานที่เส้นทางการค้นหาของคุณและเปลี่ยนชื่อพวกเขาไป acad.fas และ acad.sys ตามลำดับที่มีการตั้งค่าแอตทริบิวต์ที่ซ่อนอยู่ 

มันจะสร้างรายการรีจิสทรีที่เรียกว่า dwgrun ที่เรียกไฟล์ dwgrun.bat ใน HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion Run \มัน ยัง undefines คำสั่งบางอย่างทำให้เราไม่สามารถใช้คำสั่งนั้นๆได้และบางทีอาจจะปิดกั้นแทรก ddedit (ซึ่งเป็นคำสั่งที่อ้างถึงใน acad.sys แม้ว่าจะมีรหัสในการ acad.sys ไม่ได้)

เช่นเดียวกับไวรัส ALS.BURSTED มันจะใช้ประโยชน์จากการโหลดโดยอัตโนมัติของ AutoCAD และการทำงานของไฟล์ acad.lsp , AutoCAD จะปฏิบัติต่อ acad.fas และ acad.vlx เช่นเดียวกับ acad.lsp
 
ข้อมูลจาก Autodesk Discussion group

เจ้าไวรัสนี้ มันทำให้ผมไม่สามารถใช้ acad.lsp ที่สร้างขึ้นเองได้ ต้องโหลดใหม่ทุกๆครั้ง
โดยต้องพิมพ์ที่ Command line เองถึงจะใช้งานได้ มันช่างเลวร้ายจริงๆว่าม่ะ 

เมื่อเราเปิดโปรแกรม AutoCAD ขึ้นใช้งาน โปรแกรมจะเริ่มโหลดไฟล์ต่างๆนี้ให้ทำงาน ตามลำดับ

ACAD.EXE
acad
acad.cui
acad.mnr
custom.cui
custom.mnr
custom.dll
custom.mnl
acimpression.cui
acimpression.mnr
acimpression.dll
acimpression.mnl
acetmain.cui
acetmain.mnr
acetmain.dll
acetmain.mnl
acad.pgp
acad.dwt
acad.fmp
simplex.shx
txt.shx
acad2008.VLX
acad2008.FAS
acad2008.LSP
acad.VLX
acad.FAS
acad.LSP
acad2008doc.VLX
acad2008doc.FAS
acad2008doc.LSP
acaddoc.VLX
acaddoc.FAS
acaddoc.LSP
acad.mnl
acettest.fas
Appload.arx (and all arx files found in appload)
AecArchBase.dbx (and all AEC dbx files)
AcInfoCenterConn.DLL
AcWipeoutObj17.dbx
WSCommCntrAcCon.arx
acad.rx
acad.dbx
acetloc.VLX
acetloc.FAS
acetloc.LSP
scriptproinit.VLX
scriptproinit.FAS
scriptproinit.LSP
acetutil.fas
acetauto
acetauto.lsp
acetauto.VLX
acetauto.FAS
acetdockc.arx
acad.mnl.FAS
acetmain.mnl.FAS
ACAD.EXE 


จากข้อมูลของ AutoDesk การที่จะเอา acad.vlx virus ออกต้องทำตามนี้ครับ โดยเพิ่มโค๊ด AutoLISP เข้าไปในไฟล์ acad200x.lsp

How to detect and remove the Acad.vlx virus

Issue

Users of AutoCAD-based products have reported a malicious acad.vlx file that causes drawing corruption.

Solution

This is not an actual AutoCAD file provided by Autodesk. When the malicious acad.vlx file is loaded in AutoCAD, it corrupts the drawing, which may result in a Missing Language Pack dialog box displaying when you save and reopen the drawing.
The acad.vlx file creates a copy of itself in the Help folder (for example, C:\Program Files\AutoCAD 20xx\Help\logo.gif). Several other files are also modified and the ACADLSPASDOC system variable is set to 1, allowing the acad.vlx file to be loaded into other opened drawings, thereby corrupting them.
The cleanup process outlined below detects and deletes any acad.vlx file before AutoCAD attempts to load it, preventing the spread of the virus.

To prevent additional file corruptions

You must be a system administrator on your Microsoft® Windows® operating system to complete this process.
  1. In your product installation folder, locate the Support folder (for example, C:\Program Files\AutoCAD 20xx\Support).
  2. In the Support folder, double-click the acad20xx.lsp file (for example, the acad20xx.lsp file). Add the code below to the file. AutoCAD will detect and delete the acad.vlx and logo.gif files.

    (defun cleanvirus( / lspfiles lspfile x)
      (setq lspfiles '("acad.vlx" "logo.gif"))
      (foreach lspfile lspfiles
        (while (setq x (findfile lspfile))
          (progn
            (vl-file-delete x)
            (princ "\nDeleted file ")
            (princ x)
          );progn
        );while
      );foreach
    )
    (cleanvirus)
  3. Open each of the following files:
    • C:\Program Files\AutoCAD 20xx\Express\acetauto.lsp
    • C:\Program Files\AutoCAD 20xx\Support\ai_utils.lsp
    • ROAMABLEROOTPREFIX\Support\acad.mnl
      Note: Replace ROAMABLEROOTPREFIX with the value returned by the ROAMABLEROOTPREFIX system variable.
  4. If present, delete the following line of code:

    (vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
  5. Save each file.  

ลองทำตามแล้ว รอดูผลก่อนครับ  ไม่เห็นว่าจะแก้ไขอะไรได้เลย
ลองทำอีกวิธีครับ 

1. ค้นหาไฟล์ต่อไปนี้ acad.fas, lcm.fas, acad.lsp, acadapp.lsp, acadappp.lsp แล้วลบมันซะครัีบ
2. ค้นหาไฟล์ acad.mnl เพราะไวรัสจะมาแก้ไขไฟล์นี้เป็นอันดับแรกเลยหล่ะครับ
3. เปิดไฟล์ acad.mnl หาข้อความ 3 อันนี้ครับ

(If (null stol) (load "lcm" ""))
(Princ)

(Load "acadapp.lsp")
(Princ)

(Load "acadappp.lsp")
(Princ)


แล้วลบมันทิ้งซะครับ

ป้อนคำสั่งใน command line:
(While (or (setq a (findfile "acad.fas")) (setq a (findfile "lcm.fas"))) (vl-file-delete a)) 



หาวิธีอื่นบ้าง
http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&id=19860569&linkID=9240617

ยิ่งค้นก็ยิ่งลึก
ใครมีวิธีอื่นๆบอกกันบ้างนะครับ
 
   

คลังบทความของบล็อก