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

avi612

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

    118
  • Đã tham gia

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

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


  1. Chào tất cả các anh các anh chị trong diễn đàn .

    Em có tham gia diễn đàn thời gian khá dài nhưng chỉ vào học hỏi mọi người . Nay xin anh chị chỉ dùm em hay viết dùm em lisp thay thế text hàng loạt như trong fire em gửi kèm ạ. Dạ quy luật thay thế của em là Text ở cột A thay cho text ở B. em có minh họa trong bản vẽ đính kèm

    Em cảm ơn anh chị nhiều.

    http://www.mediafire...g5t12xmf1q1jowg

     

    Cái này giải quyết được 60% ý đồ của bạn, còn thao tác chỉ 1 lần quyếtt chuột thì chắc nhờ người khác giúp giùm.

    (defun c:tnn(/ os #sset #ssname #str #sset1 #ssname1)
     (setvar "CMDECHO" 0)
     (command ".undo" "BE")
     (command ".UCS" "W" ^C^C)
     (Prompt "\n- Ch\U+1ECDn Text góc:")
     (setq #sset (ssget ":s" '((0 . "*TEXT,DIMENSION"))))
     (setq #ssname (ssname #sset 0))
     (setq #str (cdr (assoc 1 (entget #ssname))))  
     (Prompt "\n- Ch\U+1ECDn Text \U+0111ích:")
     (setq #sset1 (ssget ":s" '((0 . "*TEXT,DIMENSION"))))
     (setq #ssname1 (ssname #sset1 0))
     (entmod (subst (cons 1 #str) (assoc 1 (entget #ssname1)) (entget #ssname1)))
     (command ".undo" "E")
     (princ)
     (princ)  
    )
    

    • Vote tăng 2

  2. Chà! cũng khó đây...Tại mình chưa thạo lắm về thể loại "lisp vla..." này nên vận dụng cũng chưa tốt lắm.

    Dưới đây là đoạn lisp mình đã thử làm..nhưng sai cấu trúc...pác xem lại giùm e nó sai ở đâu với...

     

    Àh! cho mình hỏi thêm luôn là ngoài dùng những hàm lisp "vla.." này thì mình còn có thể làm cách khác được không, ví như những hàm đơn giãn hơn..

     

    (defun c:ttt(/ #sset #Bacc i #tong #tong1 #ssname #ename #dau #cuoi #ent #dis #point)
     (vl-load-com)
     (setvar "CMDECHO" 0)
     (command ".undo" "BE")
     (command ".UCS" "W" ^C^C)
     (Prompt "\n- Ch\U+1ECDn \U+0111o\U+1EA1n th\U+1EB3ng c\U+1EA7n tính t\U+1ED5ng: ")
     (setq #sset (ssget ":N" '((0 . "*LINE,PLINE,ARC,ELLIPSE"))))
     (setq #Bacc (getint "\n- Nh\U+1EADp s\U+1ED1 l\U+1EBB: "))
     (if (null #Bacc) (setq #Bacc 2))
     (setq i 0)
     (setq #tong 0)
     (while
    (setq #ssname (ssname #sset i))
    (setq #ename (cdr (assoc 0 (entget #ssname))))
    (setq #dis (vlax-curve-getDistAtParam #ename (vlax-curve-getEndParam #ename)))          
    (setq #tong (+ #tong #dis))
    (setq i (1+ i))
     );WHILE
     (setq #tong1 (rtos #tong 2 #Bacc))
     (setq #point (getpoint "\n- Ch\U+1ECDn \U+0111i\U+1EC3m chèn k\U+1EBFt qu\U+1EA3: "))
     (command ".text" "J" "MC" #point 1.7 0 #tong1)
     (command ".undo" "E")
     (princ)
     (princ)
    )
    


  3. Mình đang thử viết 1 lisp tính độ dài của các đối tượng riêng biệt như line, pline, arc, và spline.

    Về phần các đối tượng là line và pline thì mình tính được rồi còn 2 đối tượng nữa là arc (cung tròn) và spline nữa nhưng mình ko biết cách tính và lập hàm như thế nào.

    Ai biết giúp mình cấu trúc của hàm tính đó ntn nhá....Tks


  4. Việc in bên Model hay layout thì chẳng khác gì nhau cả, vì khi bạn cố định khung tên của mình là khung chuẩn 1:1 thì khi vẽ bên model bạn phải vẽ các chi tiết khi nó đã được chia tỉ lệ rồi, còn bên layout thì bạn chỉ việc thay đổi tỉ lệ của khung viewport theo ý mình muốn:

    Cụ thể:

    Khi bố trí khung bản vẽ bên Model.

    - Muốn thể hiện đường thẳng 10m dưới tỉ lệ 1/200 thì bạn vẽ 1 đường line= 50 và thay đổi Dimension để nó thể hiện cho bạn đoạn thẳng đó bằng 10m. Và cho vào khung bản vẽ--->In

    Khi bố trí bên layout

    - Bạn chỉ cần thay đổi thông số Standard Scale hoặc Custom Scale = 1/200 và cho vào khung bản vẽ--->In

    -----

    Và khi in ra kích thước thật của đoạn thẳng là 50mm tương đương (1/200 của 10m)

    • Vote tăng 1

  5. Các bạn ơi! các bạn cho mình hỏi chut về cài đặt nova với

    Chẳng là thế này: lúc đầu mình có cài nova2005 và sử dụng khóa ảo vào chương trình làm việc đc bình thường rồi

    nhưng sau đó khi tắt máy đi và khởi động lại thì có cách nào không phải cài lại nova và cài lại khóa ảo không!

    + Nhân tiện đây các bạn có ít tại liệu nào hướng dẫn tỷ mỷ 1 chút đc ko?

    Thanks các bạn đã quan tâm và chỉ giúp!

     

     

    Share cho chú 1 bộ file bộ Nova2005 có hướng dẫn cài đặt đầy đủ.

    http://www.mediafire.com/download.php?nrrsjbitm0g3bnv

    Load về sài nhá.

    Khi cài đặt xong thì mỗi khi tắt máy mở lại thì chỉ cần load khóa ảo lên thôi...nhớ tắt các chương trình diệt virut trước khi cài đặt.

    • Vote tăng 1

  6. Khi bạn đi học ở 1 trung tâm nào đó thì thông thường họ sẽ cấp cho bạn 1 giấy chứng nhận, đánh giá xếp loại thành tích trong quá trình học tập.

    Còn vấn đề bằng cấp thì chỉ có 1 số trường hợp đặc biệt lắm thì mới có người hỏi tới thôi, ví như mình đang làm ở 1 công ty có liên kết với nước ngoài thì mấy thằng này nó chẳng tin gì mấy chú kỹ sư Việt Nam mình nên hễ nói tới cái gì nó cũng đòi bằng cấp...nên trong trường hợp này thì tìm cách hợp lý hóa cái giấy chứng nhận ban đầu thôi...chứ thực ra với món CAD này thì mình nghĩ bằng cấp chẳng để làm gì....Có người ko có bằng mà CAD 2D, CAD 3D, Autolisp...còn siêu hơn mấy anh đi học trung tâm ra.....

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

    Àh!!! ý trên là những gì mình biết thôi còn có gì thêm nữa ko thì ko rõ.


  7. Mình đã đọc qua bài đó mấy lần rồi, nhưng mình không hiểu, sau khi thay đường dẫn thư mục ở máy mình vào trong đoạn lisp này thì mình cần chèn nó vào đâu, vì mình cũng ko thạo lisp lắm, chỉ sưu tầm về sử dụng thôi.

     

    (if (findfile "C:\\A") (if (not (vl-string-search "C:\\A" (getenv "ACAD"))) (setenv "ACAD" (strcat (getenv "ACAD") ";" "C:\\A") );;end if (prompt "Folder C:\A Not Found!")) );;end if

  8. Vấn đề mình cần hỏi là như sau:

    ---Mình có 1 bộ lisp sưu tập được, khi sử dụng bộ lisp của mình thì trước đây mình phải thực hiện các bước sau:

    1. Add các thư mục có chứa file lisp vào trong Support File Search Path.

    2. Mở CAD:

    Gõ lệnh "Ap -->Contents-->Add các file lisp vào trong mục "Statup suite".

    Tiếp theo, gõ lệnh: "menuload -->browser-->load file menu lên.

    Sau khi thực hiện xong 2 bước trên thì mình có sài được rồi.

     

    ---Nhưng bi giờ mình muốn tối ưu các thao tác trên cho gọn lại và cho nó pro hơn chút thì mình định làm 1 file "setup", để tiện cho việc sử dụng giữa các máy khác nhau.

    Cái việc dùng phần mềm đóng gói các thư mục và file lisp lại thì đơn giản rồi, mình đã làm được.

    Cái mình gặp khó là làm thế nào để khi chúng ta click vào file setup đó thì nó tự động thực hiện luôn 2 bước trên.

    Mong mọi người nhiệt tình giúp đỡ.

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

    Cũng nói thêm là mình đã tìm và đọc tất cả các topic trên forum về vần đề này rồi, nhưng nhiều người trả lời và các câu trả lời thường rời rạc những cách khác nhau nên mình hơi khó hiểu và không thể nào liên kết được các bước làm với nhau.

    Nên hôm nay đành viết 1 bài mới (mặc dù chủ đề này đã được thảo luận nhiều trước đây) để có thể tổng hợp lại để vấn đề được rõ ràng hơn, sau này ai đọc đến cũng có thể làm được.

     


  9. Mình chép file lisp của Ketxu về rồi để chung nó với bộ lisp mình thường dùng trong C:\Program Files\Tool Lisp (1)

    Sau đó mình load chỉ 1 lisp này lên rồi gõ loadall thì nó chuyển mình đến hộp thoại trong thư mục C:\Documents and Settings\Administrator\My Documents\Downloads. (2)

    Đáng ra nó phải chuyển mình đến đường dẫn (1) chứ ko phải (2) phải ko, rồi mình thử chọn file cho nó load lên thì chỉ chọn dc từng file 1 (rất mất công vì mình cần chọn nhìu file)....sau khi thử load 1 file lên thì nó báo nil....

    Vậy cho mình hỏi, lisp trên sai ở đâu hay mình cách dùng của mình ko đúng..


  10. Mình có một bộ lisp sưu tập được từ trên CADviet, nhưng nó không hẳng là file lisp ko thôi mà có cả các bản vẽ thư viện và mình tạo cho nó 1 cái menu để gọi nó ra...khi mình dùng trên máy của mình thì dễ nhưng khi mang đến 1 máy khác thì mình phải mất thời gian để làm các thao tác load nó về nên mình có ý định tạo nó thành 1 file **.exe để khi nhấp vào đó thì một thứ đều theo ý mình định sẵn.

    1_ Nhưng mình gặp khó khăn ở chổ, khi chạy file exe mình tạo thì làm sao cho mọi thứ mình đóng gói trước đó nằm ở trong thư mục ổ C do mình định sẵn (ví dụ C:\Program Files\Thu Muc Lisp)

    2_ Mình muốn trong phần Option -->Support File Seach Path-->Nó sẽ add cho mình 1 số đường dẫn đến thư mục mình chỉ định.

    3_ Và trong CAD, cũng sẽ tự động load cái menu lên luôn (lệnh menuload).

    Mình còn 3 vấn đề trên chưa giải quyết được ai giúp mình với.


  11. Cách của Doan Van Ha là dùng lisp up Dim theo từng tỉ lệ do mình đặt sẵn ở curent đúng ko. Cách này thì mình đã sử dụng rồi.

    Nhưng trường hợp của mình thì lại khác, với những trường hợp, nhiều người vẽ 1 bản vẽ, họ vẽ ở model sau đó họ chỉnh Dim rất lung tung, có những Dim mình thấy họ đặt tỉ lệ cả ở tad Fit và tad Primary Units (nhưng bản vẽ vẫn đúng). Nên khi mình chỉnh sửa bản vẽ, mình chỉ cần thay đổi những thông số khác như đường giống, màu, kiểu chữ....để theo 1 ISO chuẩn. Với mỗi lần như vậy, theo cách làm thủ công của mình thì mình dùm Dim style chuẩn (Dim ISO) của mình so sánh (chức năng Compare của Dimension) với Dim hiện tại (Dim chưa ISO) sau đó mình sẽ sữa theo bản so sánh đó, việc này rất lâu vì với 1 bản vẽ có nhiều tỉ lệ khác nhau thì mình mất khoản gần 1h cho việc hiệu chỉnh mấy cái Dim này...Nên mong rằng mọi người giúp mình khắc phục bước này, để công việc thêm hiệu quả.


  12. Khi mình load trên mạng về 1 file bản vẽ để sử dụng thì thường lúc nào cũng thấy rằng ở phần Dimension có rất nhiều Dim Style khác nhau (khác về đường giống, kiểu chữ, màu.......có thể vào Dimension -->Compare để so sánh 2 Dim Style khác nhau) thì thường những Dim Style khác nhau rất nhiều nên khi muốn đưa chúng về một ISO thì mình phải làm thủ công rất lâu.

    Nên mình muốn nhờ mọi người giúp mình một Lisp có chức năng giống như là copy để chuyển những Dim Style khác nhau về chung 1 ISO đã cho trước.

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

    VD: Lisp có thể hoạt động như sau:

    Mình sẽ khai báo cho Dim style nào đó, có thể là "Standard" (mặc định của CAD) có những thông số theo một ISO mình quy định sẵn.

    Sau đó gõ lệnh: (ví dụ) CopyDim [Enter]

    Hiện ra một hộp thoại có yêu cầu:

    Chọn Dim Style chuẩn: (ví dụ: Standard)

    Chọn Dim Style cần thay đổi: (ví dụ: Dim 1/20) (có thể chọn nhiều dim style cùng 1 lúc)

    Chọn các Tad cần copy: vì trong Dim có tới 7 Tad khác nhau (Lines, Symbols and Arrows, Text, Fit, Primary Units, Alternate Units, Tolerances).

    Enter ----> kết thúc lệnh.

    Kết quả:

    Những Dim style mình chọn cần thay đổi bên trên sẽ có những thông số giống như Dim style gốc. (thường thì mình không thay đổi tỉ lệ Fit hay Scale factor, chỉ thay đổi những định dạng chung như kiểu chữ, màu, đường giống....v.v).

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

    Không biết là mình ghi yêu cầu của mình rõ ràng chưa, nhưng mong rằng mọi người giúp đỡ cho...

    Tks trước luôn......

×