Chuyển đến nội dung
Diễn đàn CADViet

lysamtanhaccs4

Thành viên
  • Số lượng nội dung

    37
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi lysamtanhaccs4


  1. hi chào cả nhà.

    mình có 1 file cad được vẽ bằng cad 2014 nhưng khi mở bằn cad 2016 thì nó lại hiện lên các đường mình đã move or coppy. 1 đối tượng dc coppy từ vị trí nào qua các vị trí mới đề hiển thị đường line chỉ dẫn hết, giống như show "Trace dependents" trong Formulas của excel vậy.

    nhờ các cao nhân chỉ cách fix dùm

    Thanks

    2019-10-18 16_06_45-Window.jpg


  2. Tài liệu học Solidworks bằng tiếng Việt khá hay

    Huong_dan_SW_2001

    http://rapidshare.com/files/126019626/Huong_dan_SW_2001.pdf

    Giao.Trinh.SolidWork

    http://rapidshare.com/files/126020372/Giao.Trinh.SolidWork.pdf

    Giao trinh SolidWorks99

    http://rapidshare.com/files/126021119/GiaotrinhSolidWorks99.pdf

     

    ----------------

    mirror:

    Huong_dan_SW_2001.pdf

    Giao.Trinh.SolidWork.pdf

    GiaotrinhSolidWorks99.pdf

    sao ko có tài liệu hướng dẫn sw 2009 nhỉ ???


  3. A đây rồi, SolidWork, tôi cũng đang lọ mọ học nó, tài liêu thì cũng mót ở trên diễn đàn này thôi. Đang nản chưa biết hỏi ai thì thấy có topic này. Mong mọi người thông cảm vì tôi cũng hơi bận rộn một chút, thời gian vừa rồi không lên mạng được nên không vào diễn đàn và không biết có topic mới này. Đề nghị các anh các bác cho tôi gia nhập lớp học này với.

    Mà sao lạ vậy hè, mấy phút trước còn thấy bài rủ rê học của bác SSG mà giờ mất tiêu đâu rồi, hay các bác giận không muốn cho tôi gia nhập nữa. Muốn làm thành viên dưới 10 của lớp mà nghe khó quá nhỉ.

    Có điều này tôi muốn hỏi là làm sao tậu được phần mềm SolidWork này nhỉ? Tôi ở Bình Dương muốn kiếm nó mà khó quá, Ai biết chỉ giùm chỗ mua với, tôi trả tiền mặt thôi chứ chẳng có thẻ thiếc gì cả.

    bác tới tiêm CD đối diện cổng trường ĐH Sư Phạm Kỹ Thuật Tp HCM ở đường Võ Văn Ngân (ngay ngã tư Thủ Đức) cố mà đầy ! sợ bác ko đủ tiền mà mua thôi


  4. tại mình mượn nick của thằng bạn

    thank các bạn nhiều

    bạn nào còn ý kiến nào nửa xin tư vấn giúp mình vì mình tính đợt hè này đăng ký đi học

    vô cadviet down mấy cái HD phần mềm nào cần học về chịu khó mày mò chút là dc chỗ nào ko hiểu nhấn F1(help) nếu tiềng anh kém thì có Lacviet hoặc translate.google.com.vn ok hết nếu ko hiểu nữa thì vô lại Cadviet hỏi a e sẽ chỉ bảo tận tình

    Br

    chúc vui


  5. - Tắt máy bố trí nghỉ ngơi là vừa: Sếp đang cáu????

    - Tắt máy và đi mua một em chuột quang mới: Không cần tắt máy và phải mua con chuột USB(!)

    - Tắt máy bố trí nghỉ ngơi là vừa: => a vô đây làm gì ???

    - Tắt máy và đi mua một em chuột quang mới: Không cần tắt máy và phải mua con chuột USB(!) => bạn bỏ tiền túi đi mua nhé !!!!

    ơ cty mấy bác ko biet thế nào chứ ơ cty e mỗi khi cần mua cái gì đợi cả tuần mới có !

    chả nhẽ trong thời gian đó e ở nhà à !!!!!!!!!!!!!


  6. lệnh là M2C (move to center) move đối tượng bất kỳ vào chính giữa đối tượng bất kỳ khác.:

     

    (defun c:m2c ()
     (defun mid (ent / p1 p2)
       (vla-getboundingbox (vlax-ename->vla-object ent) 'p1 'p2)
       (setq p1 (vlax-safearray->list p1)
      p2 (vlax-safearray->list p2)
      pt (mapcar '+ p1 p2)
      pt (mapcar '* pt '(0.5 0.5 0.5))
       )
       pt
     )
     (setq src (car (entsel "\nDoi tuong can di chuyen: ")))
     (redraw src 3)
     (setq des (car (entsel "\nDoi tuong dich: ")))
     (redraw src 4)
     (setq oldos (getvar "osmode"))
     (setvar "osmode" 0)
     (command ".move" src "" (mid src) (mid des))
     (setvar "osmode" oldos)
     (princ)
    )
    (vl-load-com)
    

    sao em tải cái này về chạy ko được bác Hoành ạ khi load song máy báo lisp này ko được định hình Bác có cách nào giúp em với nếu cái này mà sài đc thì rất hữu ích đối với em đó (em sài cad 2004 máy ở cty ko thể nâng cấp hơn đc nữa)


  7. Cậu có thể hướng dẫn kỹ hơn về cái này được không?

    ko nhất thiết phải vào win mới được trong cad cũng hỗ trợ mà mình đã nói ngay ơ đầu topic rồi đó bạn xem lại coi

    bạn có thể dùng chương trình của bác Nộ Thiên

    download tại: www.readmesoft.com

    http://tinyurl.com/2nnm43

    cũng xài được khi muốn tắt or mở mousekeyboar thì dùng fim F7


  8. Một ví dụ vẽ CAD không dùng chuột:

    <a href="http://myfreefilehosting.com/f/10c4266f9c_0.02MB" target="_blank">http://myfreefilehosting.com/f/10c4266f9c_0.02MB</a>

    1. Down file về và giải nén.

    2. Chạy File ACAD.dwg trong thư mục vừa giải nén.

    3. Tắt tất cả các bắt dính.

    4. Gõ lệnh AP, load file CD.lsp

    5. Mời chiêm ngưỡng.

    hình nhu link bị die rồi duongsatdn ơi dow ko được ! :bigsmile:


  9. 1) Bdraw: ghi lại thiết lập của user về Object Snap và Layer hiện hành; vô hiệu chế độ Object Snap để khi vẽ không bị bắt dính lung tung ngoài ý muốn.

    Edraw: Trả lại nguyên trạng thiết lập Object Snap và Layer hiện hành như trước khi user dùng chương trình lisp của bạn.

     

    2) Các số 10, 40, .... trong hàm assoc gọi là mã DXF của thực thể. Bạn có thể tham khảo qua một lượt bài viết này:

    <a href="http://www.cadviet.com/cadnews/content/view/89/32/" target="_blank">http://www.cadviet.com/cadnews/content/view/89/32/</a>

    Tự xác định xem bạn có đủ "hành trang" cần thiết để hiểu hay không. Nếu chưa đủ thì phải trang bị thêm!

     

    3) Bạn sửa (+ r 5) là đúng rồi, không phải làm gì nữa. Bạn có thể tự kiểm nghiệm điều này mà?

     

    4) Hàm polar rất cơ bản. Bạn tự tìm hiểu nhé?

     

    5) Về các lệnh tắt, đừng lạm dụng lisp quá mức và lung tung như vậy. Trước khi làm các lệnh tắt bằng lisp, bạn hãy tìm hiểu toàn bộ các lệnh tắt chuẩn của Acad đã. Cụ thể, bạn vào file acad.pgp trong thư mục Support để xem.

    Ví dụ:

    - L -> lệnh Line

    - C -> lệnh Circle

    - LA -> lệnh Layer

    - Ctrl + P -> lệnh Plot

    v.v...

    Nếu thích, bạn có thể sửa acad.pgp theo ý muốn, chẳng cần dùng lisp cho các mục đích như vậy.

    Cảm ơn bác ssg đã chỉ júp em. em cũng có sủa trên acad.pgp rồi nhưng làm thế rất rễ bị hư file gốc mà khi mình sang máy khác làm việc mà phải sửa lại acad.pgp thì mất thời jan lắm mà fải tắt cad rồi lại mở cad.nên em mới làm lisp mình chỉ cần cái USB hạng xoàng thôi có khi chỉ cái đĩa mềm là cứ việc coppy rồi paste sau đó apload là sài vi vu tội gì phải..........!

    em đã phát triển khi tạo layer có thêm "LW" và sửa lại cái lisp như sau các Bác cho ý kiến nhé !~ :bigsmile:

    ặc ặc "Xin lỗi,

    Phần upload của diễn đàn đang tạm đóng để nâng cấp bảo mật!"

    nên đành phải làm thế này thôi

     

    ;;;-------------------------------------------------------
    (Defun Bdraw() 
    (setq OldOs (getvar "osmode")
                       OldLay (getvar "clayer"))
    (setvar "osmode" 0) 
    )
    ;;;-------------------------------------------------------
    (Defun Edraw()
    (setvar "osmode" OldOs)
                       (setvar "clayer" OldLay)
                       (princ)
    )
    ;;;-------------------------------------------------------
    (defun setLay(Lay / Col LT LW) 
    (cond
    ((=
                          (strcat Lay)
                          "basic") 
                          (setq Col "white" LT "continuous" LW "0.35"))
    ((=
                          (strcat Lay) 
                          "hiden")
                          (setq Col "green" LT "ACAD_ISO02W100" LW "0.35"))
    ((= 
                          (strcat Lay) 
                          "dimension") 
                          (setq Col "magenta" LT "continuous" LW "0.35"))
    ((= 
                          (strcat Lay) 
                          "center") 
                          (setq Col "red" LT "ACAD_ISO04W100" LW "0.25"))
    )
    (if (not (tblsearch "Layer" Lay)) 
                    (command "Layer" "N" Lay "L" LT Lay "C" Col Lay  "LW" LW Lay""))
    (setvar "clayer" Lay)
    )
    ;;;-------------------------------------------------------
    (defun cenLine(
                        e / d p r k p1 p2 p3 p4) 
    (setq
    d 
                       (entget e)
    p 
                       (cdr (assoc 10 d))
    r 
                       (cdr (assoc 40 d))
    k 
                       (+ 
                       r 10)
    p1 
                       (polar p pi k)
    p2 
                      (polar p 0 k) 
    p3 (polar p (/ 
                      pi 2) k)
    p4 
                      (polar p (/ 
                      pi -2) 
                      k)
    )
    (setLay "center")
    (command "line" p1 p2 "" "line" p3 p4 "")
    )
    ;;;==============================
    (defun C:1220 (
                            / p) 
    (setq p (getpoint "\nCenter point:")) 	 
    (Bdraw) 				  
    (setLay "basic") 
                        (command "circle" p 6) 
    (setLay "basic") 
                        (command "circle" p 10)  
    (cenLine (entlast))			  
    (Edraw)
    )				
    ;;;==============================
    (defun C:M10 (
                            / p) 
    (setq p (getpoint "\nCenter point:")) 	 
    (Bdraw) 				  
    (setLay "hiden") 
                        (command "circle" p 5) 
    (setLay "basic") 
                        (command "circle" p 4.3)  
    (cenLine (entlast))			  
    (Edraw)
    )				
    ;;;==============================
    (defun C:M12 (
                            / p) 
    (setq p (getpoint "\nCenter point:")) 	 
    (Bdraw) 				  
    (setLay "hiden") 
                        (command "circle" p 6) 
    (setLay "basic") 
                        (command "circle" p 5.15)  
    (cenLine (entlast))			  
    (Edraw)
    )				
    ;;;==============================
    (defun C:QD () 
    (setLay "dimension") 	
    (command ".Qdim" pause) 	
    )
    ------------------------------------
    (defun C:DM () 
    (setLay "dimension") 	
    (command ".dimordinate" pause) 	
    )
    ------------------------------------
    (defun C:NN() 
    (setLay "dimension") 	
    (command ".qleader" pause) 	
    )
    ------------------------------------
    (defun C:11() 
    (setLay "basic") 	
    (command ".revcloud" pause) 	
    )
    ------------------------------------
    (defun C:33() 
    (setLay "basic") 	
    (command ".spline" pause) 	
    )
    ------------------------------------
    (defun C:1() 
    (setLay "dimension") 	
    (command ".dimlinear" pause) 	
    )
    ------------------------------------
    (defun C:2() 
    (setLay "dimension") 	
    (command ".dimaligned" pause) 	
    )
    ------------------------------------
    (defun C:3() 
    (setLay "dimension") 	
    (command ".dimcontinue" pause) 	
    )
    ------------------------------------
    (defun C:4() 
    (setLay "dimension") 	
    (command ".dimangular" pause) 	
    )
    ------------------------------------
    (defun C:5() 
    (setLay "dimension") 	
    (command ".dimdiameter" pause) 	
    )
    ------------------------------------
    (defun C:6() 
    (setLay "dimension") 	
    (command ".dimradius" pause) 	
    )
    ------------------------------------
    (defun C:7() 
    (setLay "dimension") 	
    (command ".dimbaseline" pause) 	
    )
    ------------------------------------
    (defun C:Q() 
    (setLay "basic") 	
    (command ".rectang" pause) 	
    )
    ------------------------------------
    (defun C:L() 
    (setLay "basic") 	
    (command ".line" pause) 	
    )
    ------------------------------------
    (defun C:LL() 
    (setLay "center") 	
    (command ".line" pause) 	
    )
    ------------------------------------
    (defun C:LLL() 
    (setLay "hiden") 	
    (command ".line" pause) 	
    )
    ------------------------------------
    (defun c:DC() (command ".clayer"))
    (defun c:34() (command ".dimtedit"))
    (defun c:CA() (command ".chamfer"))
    (defun c:RT() (command ".rotate"))
    (defun c:12() (command ".copyclip"))
    (defun c:22() (command ".pasteclip"))
    (defun c:MN() (command ".matchprop"))
    (defun c:CC() (command ".copy"))
    (defun c:DF() (command ".dimscale"))
    


  10. CadCam.gif

     

    Công nghệ CAD/CAM và nguyên lý điều khiển trong công nghiệp

    Tác giả: Th.S Nguyễn Thế Tranh

    Loại: pdf (tiếng Việt)

    Số trang: 112

    Kích thước: 3.7 M

     

    Download

    Em la dân cơ khí chính góc đây ba cái vấn đề CAD-CAM là em rất máu nhưng trên cadviet it cơ khí quá phải ko bác "lamtecco2'có gì em và Bác cùng dân cơ khí trên cadviet trao đổi kinh nghiêm nhé :bigsmile:


  11. Tôi vừa đọc 1 đoạn trong sách:

    "... vẽ cad có 3 cấp bậc thợ:

    -Bậc 1: biết các lệnh và vẽ bình thường.

    -Bậc2 : Biết vẽ, dùgn lisp, vba. bổ trợ cho lúc vẽ.

    -Bậc 3: Vẽ cad không dùng chuột"

    Phải chăng ý bạn hỏi là cái thứ 3! thế thì bạn biết phải làm thế nào rồi dúng không.

     

    bẠN THỬ XEM CÁI NÀY

    copy file này ra màn hình <a href="http://www.cadviet.com/upfiles/THU.scr" target="_blank">http://www.cadviet.com/upfiles/THU.scr</a>

    bật cad, đánh lệnh scr

    cửa sổ hiện lên và tab đên fiNd này

    Z ENTER

    A ENTER

    chạy thử tý...............

    cái này em chạy nó ra cái gì đó em ko hiểu ? :bigsmile:

    bác 'MANHHUNGXDA' có thể chỉ rõ hơn dc ko ?


  12. Bạn dùng thử lisp sau:

    ;;;PUBLIC FUNCTIONS
    ;;;-------------------------------------------------------
    (Defun Bdraw() ;;;Luu lai layer va trang thai Object Snap hien hanh
       (setq OldOs (getvar "osmode") OldLay (getvar "clayer"))
       (setvar "osmode" 0) ;;;Vo hieu hoa che do Object Snap
    )
    ;;;-------------------------------------------------------
    (Defun Edraw() ;;;Tai lap layer va trang thai Object Snap luc truoc
    (setvar "osmode" OldOs) (setvar "clayer" OldLay) (princ)
    )
    ;;;-------------------------------------------------------
    (defun setLay(Lay / Col LT) ;;;Set layer hien hanh.
    ;;; Co the sua doi ten Layer, Ltype va Color theo thiet lap chuan cua ban
    (cond
       ((= (strcat Lay) "BASIC") (setq Col "white" LT "continuous"))
       ((= (strcat Lay) "HIDDEN") (setq Col "cyan" LT "ACAD_ISO02W100"))
       ((= (strcat Lay) "DIMENSION") (setq Col "green" LT "continuous"))
       ((= (strcat Lay) "CENTER") (setq Col "magenta" LT "ACAD_ISO04W100"))
    )
    (if (not (tblsearch "Layer" Lay)) (command "Layer" "N" Lay "L" LT Lay "C" Col Lay ""))
    (setvar "clayer" Lay)
    )
    ;;;-------------------------------------------------------
    (defun cenLine( e / d p r k p1 p2 p3 p4) ;;;Ve 2 duong tam vong tron e
    ;;;Duong tam vuot qua duong tron 2 don vi, the hien o bieu thuc: k (+ r 2)
    ;;;Ban co the sua tri so nay theo y thich
    (setq
       d (entget e)
       p (cdr (assoc 10 d))
       r (cdr (assoc 40 d))
       k (+ r 2)
       p1 (polar p pi k)
       p2 (polar p 0 k) 
       p3 (polar p (/ pi 2) k)
       p4 (polar p (/ pi -2) k)
    )
    (setLay "CENTER")
    (command "line" p1 p2 "" "line" p3 p4 "")
    )
    ;;;-------------------------------------------------------
    
    
    ;;;MAIN FUNCTIONS
    ;;;==============================
    (defun C:1 () ;;;Ghi kich thuoc thang
    (setLay "DIMENSION") 	;;;Set layer Dimension
    (command "dimlinear" pause) 	;;;Goi lenh Dimlinear va tra quyen dieu khien cho AutoCAD
    )
    ;;;==============================
    (defun C:2 ( / p) ;;;Ve 2 vong tron va duong tam
    (setq p (getpoint "\nCenter point:")) 	  ;;;Lay toa do tam do user nhap vao
    (Bdraw) 				  ;;;Goi function Bdraw da dinh nghia o tren
    (setLay "HIDDEN") (command "circle" p 6) ;;;Set layer Hidden va ve vong tron R6
    (setLay "BASIC") (command "circle" p 10)  ;;;Set layer Basic va ve vong tron R10
    (cenLine (entlast))			  ;;;Dung function cenLine cho vong tron vua tao
    (Edraw)				  ;;;Goi function Edraw da dinh nghia o tren
    )
    ;;;==============================
    

     

    Ghi chú và đề nghị:

    1) Các dòng bắt đầu bằng dấu chấm phẩy là chú giải, không có tác dụng với chương trình. Mình ghi nhiều như vậy với mục đích để bạn hiểu thêm về hoạt động của chương trình lisp.

     

    2) Tên lệnh là các ký tự liền kề sau C:, bạn có thể sửa đổi chúng theo ý thích nhưng không được trùng với các lệnh tắt chuẩn của Acad. Ví dụ, tên lệnh "A" như bạn đề nghị là không ổn vì đó là tên tắt của lệnh "ARC".

     

    3) Các yêu cầu dạng như của bạn rất đơn giản so với khả năng của lisp. Bạn có thể tự học lisp để phát triển thêm nhiều ứng dụng thiết thực, phù hợp với công việc của bạn. Đừng nghĩ rằng Lisp là cái gì đó quá khó, nó khá đơn giản và dễ học, ít nhất là ở cấp độ cơ bản. Bạn có thể tham khảo ở đây:

     

    <a href="http://www.cadviet.com/forum/Huong-dan-lap...Lisp-t2480.html" target="_blank">http://www.cadviet.com/forum/Huong-dan-lap...Lisp-t2480.html</a>

     

    cũng như các bài giới thiệu về lisp khác trên diễn đàn.

    Chúc bạn làm việc nhẹ nhàng, hiệu quả và hứng thú hơn với AutoLisp!

    Bác có thể chỉ em cái “Bdraw() v à Edraw() “ là j hở bác em có đọc qua giáo trình “Relax_1” của bác và em cũng hiêu sơ sơ thôi !

    và hàm

    (defun cenLine(

    e / d p r k p1 p2 p3 p4)

    (setq

    d

    (entget e)

    p

    (cdr (assoc 10 d))

    r

    (cdr (assoc 40 d))

    k

    (+

    r 2)

    p1

    (polar p pi k)

    p2

    (polar p 0 k)

     

    p3 (polar p (/

    pi 2) k)

    p4

    (polar p (/

    pi -2)

    k)

    )

    hàm này em chua hiểu lắm !

    hàm “(cdr (assoc 10 d)) va hàm (cdr (assoc 40 d))”

    là gì số và “10d” và “40d”có ý nghĩa gì ta có thể đổi được ko ?

    em muốn độ dài của đg tâm vượt qua dg tròn 5 đơn vị em đã sửa lại là

    “k

    (+

    r 5)”

    em sửa như vậy có đúng ko? ngoài ra em còn phải sửa ở chỗ nào nữa ?

    những chữ em gạch chân là em muốn nhờ bác chỉ em kỹ hơn !

    cảm ơn bác nhiều ! :bigsmile:

    TB !

    Bác chỉ dùm em với ........!

    Em dùng notepad viết các lệnh sau và save với tên là "lisp.lsp" sau đó dùng lệnh appload để load lisp.

    (defun c:CC() (command ".copy"))

    (defun c:LK() (command ".layer"))

    (defun c:N() (command ".Plot"))

    (defun c:CA() (command ".chamfer"))

    (defun c:RT() (command ".rotate"))

    (defun c:NN() (command ".qleader"))

    ................

    Khi em gõ lệnh LK thì ko hiện bảng Layer Properties Manager mà có thông báo sau trên Comman:

    Command: lk

    .layer

    Current layer: "3"

    Enter an option

    [?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/Plot/Freeze/Thaw/LOck/Unlock/stAte]:

    nil

    Enter an option

    [?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/Plot/Freeze/Thaw/LOck/Unlock/stAte]:

     

    Khi em gõ lệnh "Layer" thì vẫn hiện bảng Layer Properties Manager bình thường

    Khi em gõ "N" để in bản vẽ thì ko hiện bảng Plot mà có thông báo sau trên Comman:

    Command: n .PLOT Detailed plot configuration? [Yes/No] <No>: nil

    Detailed plot configuration? [Yes/No] <No>:

    và ko in được

    Khi em gõ lệnh "Print" hoặc (Ctrl+p) thì vẫn hiện bảng Plot bình thường

    em đã thử thay bằng: (defun c:N() (command ".Print"))

    thì có thông báo

    Command: n .Print Unknown command "PRINT". Press F1 for help.

    Command: nil

     

    Các lệnh khác thì vẫn chạy bình thường. Em sài cad 2004 !

     

    Em làm lisp sau

     

    http://www.cadviet.com/upfiles/thu_13_04_08.lsp.txt

     

    các bác cho em ý kiến nhé ! “nhờ Bác ”ssg” júp đỡ em mới dc như vậy đó“ hi hi …(nhưng nó ko tự tạo dc layer "dimension") :undecided:

     

    Edit by ssg:

    Sau khi upload file, bạn copy link, paste vào bài viêt. Tốt nhất là cho nó nằm riêng 1 dòng, đừng ghi chú thêm bất cứ cái gì cả. Khi đó, nó mới là 1 link (người khác chỉ bấm vào đó là down được file của bạn). Cụ thể, mình đã bỏ các dấu đóng mở ngoặc trong đường link của bạn nó mới ra như vậy.

    Muốn tự tạo layer, "dimension" chẳng hạn, bạn dùng hàm setLay đã xây dựng ở trên. Ví dụ:

    (defun c:QD ()

    (Setvar "clayer" "dimension")

    (command ".Qdim")

    )

    Sửa lại là:

    (defun c:QD ()

    (setLay "clayer" "dimension")

    (command ".Qdim")

    )


  13. Bạn dùng thử lisp sau:

    ;;;PUBLIC FUNCTIONS
    ;;;-------------------------------------------------------
    (Defun Bdraw() ;;;Luu lai layer va trang thai Object Snap hien hanh
       (setq OldOs (getvar "osmode") OldLay (getvar "clayer"))
       (setvar "osmode" 0) ;;;Vo hieu hoa che do Object Snap
    )
    ;;;-------------------------------------------------------
    (Defun Edraw() ;;;Tai lap layer va trang thai Object Snap luc truoc
    (setvar "osmode" OldOs) (setvar "clayer" OldLay) (princ)
    )
    ;;;-------------------------------------------------------
    (defun setLay(Lay / Col LT) ;;;Set layer hien hanh.
    ;;; Co the sua doi ten Layer, Ltype va Color theo thiet lap chuan cua ban
    (cond
       ((= (strcat Lay) "BASIC") (setq Col "white" LT "continuous"))
       ((= (strcat Lay) "HIDDEN") (setq Col "cyan" LT "ACAD_ISO02W100"))
       ((= (strcat Lay) "DIMENSION") (setq Col "green" LT "continuous"))
       ((= (strcat Lay) "CENTER") (setq Col "magenta" LT "ACAD_ISO04W100"))
    )
    (if (not (tblsearch "Layer" Lay)) (command "Layer" "N" Lay "L" LT Lay "C" Col Lay ""))
    (setvar "clayer" Lay)
    )
    ;;;-------------------------------------------------------
    (defun cenLine( e / d p r k p1 p2 p3 p4) ;;;Ve 2 duong tam vong tron e
    ;;;Duong tam vuot qua duong tron 2 don vi, the hien o bieu thuc: k (+ r 2)
    ;;;Ban co the sua tri so nay theo y thich
    (setq
       d (entget e)
       p (cdr (assoc 10 d))
       r (cdr (assoc 40 d))
       k (+ r 2)
       p1 (polar p pi k)
       p2 (polar p 0 k) 
       p3 (polar p (/ pi 2) k)
       p4 (polar p (/ pi -2) k)
    )
    (setLay "CENTER")
    (command "line" p1 p2 "" "line" p3 p4 "")
    )
    ;;;-------------------------------------------------------
    
    
    ;;;MAIN FUNCTIONS
    ;;;==============================
    (defun C:1 () ;;;Ghi kich thuoc thang
    (setLay "DIMENSION") 	;;;Set layer Dimension
    (command "dimlinear" pause) 	;;;Goi lenh Dimlinear va tra quyen dieu khien cho AutoCAD
    )
    ;;;==============================
    (defun C:2 ( / p) ;;;Ve 2 vong tron va duong tam
    (setq p (getpoint "\nCenter point:")) 	  ;;;Lay toa do tam do user nhap vao
    (Bdraw) 				  ;;;Goi function Bdraw da dinh nghia o tren
    (setLay "HIDDEN") (command "circle" p 6) ;;;Set layer Hidden va ve vong tron R6
    (setLay "BASIC") (command "circle" p 10)  ;;;Set layer Basic va ve vong tron R10
    (cenLine (entlast))			  ;;;Dung function cenLine cho vong tron vua tao
    (Edraw)				  ;;;Goi function Edraw da dinh nghia o tren
    )
    ;;;==============================
    

     

    Ghi chú và đề nghị:

    1) Các dòng bắt đầu bằng dấu chấm phẩy là chú giải, không có tác dụng với chương trình. Mình ghi nhiều như vậy với mục đích để bạn hiểu thêm về hoạt động của chương trình lisp.

     

    2) Tên lệnh là các ký tự liền kề sau C:, bạn có thể sửa đổi chúng theo ý thích nhưng không được trùng với các lệnh tắt chuẩn của Acad. Ví dụ, tên lệnh "A" như bạn đề nghị là không ổn vì đó là tên tắt của lệnh "ARC".

     

    3) Các yêu cầu dạng như của bạn rất đơn giản so với khả năng của lisp. Bạn có thể tự học lisp để phát triển thêm nhiều ứng dụng thiết thực, phù hợp với công việc của bạn. Đừng nghĩ rằng Lisp là cái gì đó quá khó, nó khá đơn giản và dễ học, ít nhất là ở cấp độ cơ bản. Bạn có thể tham khảo ở đây:

     

    http://www.cadviet.com/forum/Huong-dan-lap...Lisp-t2480.html

     

    cũng như các bài giới thiệu về lisp khác trên diễn đàn.

    Chúc bạn làm việc nhẹ nhàng, hiệu quả và hứng thú hơn với AutoLisp!

     

    Dạ thưa bác 'ssg' và các quý anh chị khác trên diễn đàn,

    Cám ơn bác 'ssg' lắm lắm vì sự tận tình chỉ dạy của bác. Em đã đọc một số topic của bác trên diễn đàn, thấy rất mê, muốn học hỏi và update kiến thức lắm, nhưng vì thòi gian hạn hẹp và máy of em ở cty ofline nên em ngâm cứ ko đc chuyên sâu cho lắm nên mới nhờ bác 'ssg' chỉ giáo cho em.

    cảm ơn bác đã viết dùm em cái lisp này, em về sẽ phát triển thêm cho tốt hơn :bigsmile:

    TB à bác 'ssg' ơi bác có tài liêu nào học lisp hay mà dễ hiểu bác cho em chút đc ko ? (hơi tham lam phải ko các bạn ?)


  14. Mouse Emulator 2.5 - Giải pháp thay thế khi chuột hư

    Phím tắt:

    "QWER" - "ADDF" - "ZXCV" :Di chuyển chuột đến vùng lớn

    "UIO" - "JKL" - "M,." : di chuột từng đọan nhỏ để đến các vị trí chính xác hơn

    G,B (click chuột trái)

    H,N (click chuột phải)

    Caps Lock: Thay đổi tốc độ di chuyển chuột.

    download tại: www.readmesoft.com

     

    Ngòai ra còn có:

    ADVANCED KEY AND MOUSE RECORDER 2.8 - Ghi lại họat động của bàn phím và chuột

    http://tinyurl.com/2nnm43

     

    -trích từ "PC Tips"

     

    Chỉ nghe quảng cáo vậy thôi, chưa xài nên chưa biết ra sao. Ai quan tâm thì load về xài thử.

    thank! bác 'Nộ Thiên' để em về nghiêm cứu ra sao nhưng có cái này chắc hay lắm nhỉ


  15. Không chỉ 2 mà bạn muốn bao nhiêu cũng được. Hiệu quả của lisp chính là ở chỗ: bạn gõ 1 lệnh -> chương trình thực hiện hàng loạt lệnh đã thiết lập trước theo ý muốn. Yêu cầu của bạn cực kỳ đơn giản đối với lisp:

     

    (defun C:1() (setvar "clayer" "dimension") (command "dimlinear" pause))

     

    Lưu ý: bản vẽ của bạn phải có layer "dimension". Nếu không, sẽ bị lỗi.

    Thật ra, lisp có thể kiểm tra sự tồn tại của layer "dimension", nếu chưa có thì tạo ra nó trước khi thực hiện "dimlinear". Tuy nhiên, bạn yêu cầu như trên thì chương trình chỉ đơn giản vậy thôi.

    bác 'ssg' có thể chỉ em nếu như trên bản vẽ đã có layer "dimension" rồi thì thôi còn nếu ko có thì có thể tự tạo ra layer "dimension"dc ko ? trên bản vễ of em chỉ sài 4 layer cơ bản là dimension , hiden , basic và center .

    em có thêm 1 yêu cầu nữa như sau khi gõ 1 fím tắt nó có thể thực hiện 1 lệnh tạo ra 2 or 3 (line,rectang,arc,đường tròn ....)với độ dài,khoảng cách,đường kính... khác nhau mà mình đã định sẵn bằng lisp ko ?

    ví dụ em gõ fím "A" thì tạo ra 2 đg tròn đồng tâm với R1=6, R2=10. 1 trong 2 đg tròn đó thuộc layer "hiden" thì càng tốt và có sẵn đg tâm (layer center) thì verry good !

    em làm bên thiết kế khuôn gạch men trên cad tại Binh Dương.

    thank ! các Bác

    :bigsmile:

×