


HIELA
-
Số lượng nội dung
17 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi HIELA
-
-
em cần bản vẽ cad hộp giảm tốc trục vít bánh cho môn đồ án chi tiết máy các anh có cho em xin.hoặc qua mail của em là nguyentuoinnh@gmail.comBạn thử cái này xem
-
vay la khong ai chuyen nguoc duoc file VLX sang lisp ha?Có đấy . Bạn thử cái này xem
Khi bạn chạy chương trình dịch ngược thì nó tự tạo ra 1 số file trong đó có file *.lsp, " * " chính là tên file bạn đang dịch. Và file lsp mới tạo này sẽ được ghi vào đường dẫn của file bạn đang cần dịch.
Chúc thành công.
-
Bác nào ở Hà Nội chỉ cho em chỗ mua hoặc cho em nhờ photo 2 cuốn AutoLISP của Nguyễn Hữu Lộc được không ạ....E đội ơn các bác.... :cheers: ) tìm khó như tìm người iêu ấy...có sách tham khảo,học những thư cơ bản cũng tốt hơn. Thanks các bác!---------------
Tôi thấy nhà sách Phương Nam có bán cuốn sách này . Tại Hà nội bạn thử liên hệ tại :
Nhà sách Garden Mall
- Địa chỉ: S3-08 Tầng 3 - TT Thương Mại Garden Mall - Đường Mễ Trì - Xã Mễ Trì - Huyện Từ Liêm - Hà Nội
- Điện thoại: (04) 37876434 - Fax: (04) 37876433
Nhà sách VinCom
- Địa chỉ: Lầu 4 VinCom Galleries - 114 Mai Hắc Đế - Quận Hai Bà Trưng - Hà Nội
- Điện thoại: (04) 22225238 - Fax: (04) 22206168
Đây là 2 chi nhánh của nhà sách Phương Nam . Nếu không có bạn liên hệ với các chi nhánh ở tỉnh khác nếu có gửi tiền qua bưu điện họ sẽ gửi sách cho bạn . Tôi cũng thường mua như vậy .
Bạn tìm chi nhánh Phương Nam tại :
Bạn cứ ở nhà mà điện thoại không cần đi lại .
Chúc bạn may mắn !
-
Do vius thôiMáy ở nhà ok
máy ở công ty không sử dụng được
Không biết bạn đã khôi phục được chưa .Tôi không loại trừ khả năng máy bị nhiễm virut . Các chương trình diệt virut thường hay xoá files bị nhiễm . Nếu khả năng này sảy ra cho dù bạn có diệt được virut bạn vẫn phải tìm cách phục hồi lại files bị xoá bằng cách cài đặt lại chương trình hoặc copy lại files bị xoá .
.
-
Bạn có thể Up chương trình lên đây được không ?
-
Lisp thống kê thé thường kèm theo là file DCL- file hộp thoại, bạn phỉa khai báo đường dẫn cho file này, hãy vô options khai báo đường dẫn làm việc thử xem.Tôi cũng nghĩ như vậy .Bạn kiểm tra files .DCL đi và hãy copy nó vô đường dẫn thư viện của Acad Suport . Nếu không có files này thì có thể nó mới bị xoá ?
-
Sau khi em sử dụng một số lisp xong thì chức năng truy bắt điểm bị tắt hết hoàn toàn phải vào đặt lại, có ai biết trả lời giúp em với? Em cảm ơn!--------------------------
Bạn vô đây tham khảo bài #5
-
1
-
-
Tôi gặp khó khăn khi dùng hàm vl-registry-write để ghi dữ liệu vào Registry trong Windown 7 (không ghi được) . Bạn nào biết cách mở khoá để ghi xin hãy giúp tôi . Thanks !
-
Trong một số trường hợp bạn phải vẽ rất nhiều chi tiết nhỏ , các thông tin cấu tạo các chi tiết này được tập hợp lại thành list và được sử dụng để vẽ ra vật thể sau khi đã hoàn thành tất cả các chi tiết . Ví dụ : Bạn vẽ thiết kế một tuyến kênh trước hết bạn vẽ từng mặt cắt ngang các thông tin của từng mặt cắt ngang này được tự động tập hợp trong một list để sử dụng vẽ mặt cắt dọc . Vấn đề đặt ra là khi bạn chưa vẽ song mặt cắt ngang thì mầt điện giữa chừng hoặc vì một lý do gì đó bạn không thể tiếp tục công việc phải tắt máy . Lúc sau bạn phải vẽ lại từ đầu mất rất nhiều công sức . Tôi muốn tạo ra một vùng nhớ đệm trong AutoLISP lưu lại tất cả các thông tin cần thiết để khi sau bạn không phải vẽ lại từ đầu . Giống như Windows có chế độ Hibernate khi tắt máy . Vấn đề của tôi chỉ có vậy rất mong mọi người quan tâm hưởng ứng , nghiên cứu thảo luận . Tôi tin rằng càc nhà lập trình chuyên nghiệp đã sử lý song vấn đề này từ lâu mong được chia sẻ . Xin cảm ơn !
-
AutoCAD với Excel
trong AutoLisp
Xin files dữ liệu kết quả đo của máy toàn đạc
Tôi không có điều kiện tiếp cận với mày toàn đạc . Bạn nào có files kết quả đo của máy tòan đạc chia sẻ cho tôi . Cảm ơn!
-
AutoCAD với Excel
trong AutoLisp
Truy cập vô Registry tìm phiên bản Excel
(Setq ex1 (vl-registry-read "HKEY_CLASSES_ROOT\\Excel.Template\\shell\\New\\command" ""))
(setq ex1 (substr ex1 2 100))
(setq Thuvien (vl-string-right-trim "\" /e" ex1)) ;;; Đường dẫn thư viện Excel
(Setq phienban (vl-registry-read "HKEY_CLASSES_ROOT\\Excel.Application\\CurVer" "")) ;;; Đối tượng Excel.Application...
Bạn hãy thử xem .
-
AutoCAD với Excel
trong AutoLisp
Visual Lisp và ActiveX AutomationLisp có những ưu thế tuyệt vời khi làm việc với Acad:
- Dễ dàng tạo các đối tượng Acad cũng như truy xuất dứ liệu từ chúng
- Gọi command của Acad rất đơn giản và tự nhiên như "người trong nhà"
- Các lệnh được tạo bằng lisp được Acad "đối xử bình đẳng" như các lệnh chính thống v.v…
Bên cạnh các ưu điểm trên, nhược điểm lớn nhất của Lisp là khả năng giao tiếp với bên ngoài rất hạn chế. Lâu nay, để truy xuất dữ liệu từ Excel, mình vẫn thường phải qua 1 trong 2 dạng file trung gian *.txt (Tab delimited - phân biệt các field bằng ký tự Tab) và *.csv (Comma delimited - phân biệt các field bằng dấu phẩy).
Nhược điểm này có thể khắc phục được bằng cách dùng ActiveX Automation.
Tổng quan về ActiveX, xin được trích dẫn Help:
"ActiveX Automation is a new way to work programmatically with the contents of an AutoCAD drawing. In many instances, ActiveX works faster than traditional AutoLISP functions in manipulating AutoCAD drawing objects.
The ActiveX programming interface is usable from a number of languages and environments, such as C++, Visual BasicTM, and DelphiTM. When you work with ActiveX objects in AutoLISP, you work with the same object model, properties, and methods that can be manipulated from other programming environments."
Translation:
ActiveX Automation là một phương pháp mới để lập trình với AutoCAD. Trong nhiều trường hợp, ActiveX làm việc nhanh hơn các hàm AutoLisp truyền thống trong việc xử lý các đối tượng AutoCAD.
ActiveX có thể dùng được với một số ngôn ngữ và môi trường lập trình như C++, VB và Delphi. Khi làm việc với ActiveX trong AutoLisp, bạn thao tác với Objects – Properties – Methods giống như trong những môi trường lập trình nói trên.
Visual Lisp cung cấp một số hàm dạng vlax-xxxx để làm việc với ActiveX. Thực tế là từ trước đến nay, bản thân mình cũng chưa có điều kiện nghiên cứu sâu về chúng. Khó khăn lớn nhất là không có tài liệu, ngay cả Help của Acad cũng hướng dẫn sơ sài. Tuy chưa biết nhiều, nhưng mình thấy mảng này khá hay. Làm chủ được nó, chúng ta có thể dùng Lisp truy xuất dữ liệu trực tiếp từ các ứng dụng khác (Excel là 1 ví dụ), không phải "nhiêu khê" như trước nữa.
Một ví dụ minh họa để các bạn thử nghiệm:
(defun C:GED();;;Get Excel Data (vl-load-com) (setq ex (vlax-get-object "Excel.Application") sl (vlax-get-property ex 'selection) txtvr (vlax-get-property sl 'text) txt (vlax-variant-value txtvr) ir (vlax-get-property sl 'row) ic (vlax-get-property sl 'column) ) (alert (strcat "\nContent: " txt "\nColumn: " (chr (+ ic 64)) "\nRow: " (itoa ir) ) ) )
Trình tự thử:
- Appload đoạn lisp trên
- Khởi động Excel, open 1 file *.xls nào đó
- Pick chọn 1 cell bất kỳ (có chứa dữ liệu để kiểm tra)
- Sang Acad, gõ lệnh GED để thử
Kết quả: 1 message_box ghi thông tin về nội dung, chỉ số cột và hàng của cell mà bạn đã chọn.
Đặt vấn đề:
1) Đã lấy được dữ liệu của 1 cell thì tất nhiên sẽ lấy được dữ liệu của cả sheet, và đã import được thì tất nhiên cũng export được. Bằng cách nào thì mời các bạn có hứng thú với cái này "ngâm cứu" tiếp. Trước mắt, chỉ cần lấy được dữ liệu của một vùng được selected trong bảng Excel đang hiện hành (ví dụ như B3:F17 chẳng hạn) là đã ứng dụng được cho khối việc rồi.
2) Các thao tác trên hoàn toàn không dùng đến kho libraries của bất cứ trình ứng dụng nào. Phải nhờ vả đến "đám" này rất là phiền toái vì sự không tương thích giữa các version. Nếu phải dùng đến libraries, khi người ta nâng cấp version của Excel, rất nhiều khả năng chương trình của chúng ta sẽ không chạy được. Bản thân ssg ít thích dùng VB chính vì nó phụ thuộc vào các libraries quá nhiều!
Để khẳng định điều này, ssg nhờ các bạn kiểm tra giúp xem đoạn lisp trên có làm việc được với mọi version của AutoCAD cũng như Excel hay không? Ssg đã thử với Cad2002, Cad2007 và Excel2003, kết quả OK.
3) Các bạn thường lập trình với VB và ActiveX có kinh nghiệm hoặc tài liệu gì (tiếng Việt hoặc tiếng Anh đều tốt) về vấn đề này xin được chia sẻ.
Cám ơn tất cả các bạn,
----------------------------
Xin có một góp ý nhỏ :
Trong lệnh :
(setq
ex (vlax-get-object "Excel.Application")
Nếu bạn khai báo cụ thể hơn về phiên bản của Excel :
cho đối tượng Excel.Application
Excel 2000 "Excel.Application.9"
Excel 2002 "Excel.Application.10"
Excel 2003 "Excel.Application.11"
Excel 2007 "Excel.Application.12"
Thì sẽ tránh được những lỗi có thể gặp phải về phiên bản Excel.
-
AutoCAD với Excel
trong AutoLisp
Cám ơn bạn, mình sẽ xem lại sau. Cái này cũng khá lôi thôi!Bạn nào có office khác test thêm giúp.
---------------------
Theo tôi bạn nên viết lệnh truy câp vô Registry kiểm tra xem người dùng cài phiên bản nào của Excel sau đó khai báo phiên bản và đường dẫn thư viện tương ứng sẽ giải quyết được vấn đề.
Cách 2 :khi chạy chương trình lần đầu bạn tạo hộp thọai hỏi ngươi dùng cài phiên bản nào của Excel ...từ đó bạn có được phiên bản và đường dẫn thư viện tương ứng .Người dùng có thể sử dụng hộp thoại nảy để khai báo lại khi cài phiên bản office khác
Chúc vui !
-
AutoCAD với Excel
trong AutoLisp
Tôi muốn các bạn chia sẽ cách nhập và xuất số liệu giữa Autocad và Excel, được viết bằng ngôn ngữ AutoLISP. nếu được có thể cho xem ví dụ mẫu.Cám ơn.
Tôi đã viết mã đọc files Excel trực tiếp từ AutoCad bằng ngôn ngữ AutoLISP . Chương trình chạy tốt trên Excel200, 2002,2003 còn Excel 2007 tôi chưa thử . Còn AutoCad đã chạy trên Cad 2000,2002,2004,các bản khác chưa dùng.
Tôi đã sử dụng đối tượng ActiveX trong AutoLISP để đọc dữ liệu trong files Excel (đối tượng ActiveCell)
Đọan mã ví dụ :
(defun docdulieuexcell ()
(vl-load-com)
(goiExcell)
(setq dochang 1)
(setq i 1 j 2) ; i=hang j=cot
(setq stop 0)
(while (= stop 0)
(while (= dochang 1)
(setq congthuc (strcat "=R["(itoa (- i 1))"]C["(itoa (- j 1))"]")) ; ghép công thức tính ô theo hàng cột
(msep-put-FormulaR1C1 cell congthuc)
(setq caodo (vlax-get cell 'value)) ;;; Biến caodo được gán từ thuộc tinh Value của biến cell
;;;;;;;;;;;;;;;; V.V.V
(setq j (+ j 1))
) ;_dong while 2
(setq i (+ i 1))
);_dong while 1
)
;;;;;;;;;;;;;;;;;;;;;;
(defun goiExcell ()
(setq Excell1 "Excel.Application.11")
(setq Excell2 "C:\\Program Files\\Microsoft Office\\Office11\\EXCEL.EXE");;; Đường dẫ thư viện Excel 2003
(vlax-import-type-library
:tlb-filename Excell1
:methods-prefix "msem-"
:properties-prefix "msep-"
:constants-prefix "msec-"
)
(setq mse (vlax-get-object Excell2))
(setq mse (vlax-get-object Excell2))
(if (equal nil mse)
(progn
(setq mse (vlax-create-object Excell2))
(vla-put-visible mse :vlax-true)
)
)
(setq cell (vlax-get-property mse 'ActiveCell)) ;;; Biến cell được gán giá trị từ ô hiện hành
)
--------------------------------
Nguyên lý cơ bản là truy cập vào ô hiện hành của Excel . Sau đó gán giá tri cho ô hiện hành bằng các ô còn lại theo công thức R ,C (hàng cột) từ đó bạn có thể truy cập toàn bộ bảng tính Excel mà không cần dịch chuyển ô hiện hành (không cần khai báo chi tiết từng ô). Dùng 2 vòng lặp While để tính giá trị các ô ... Sử dụng phương thức này để vẽ bình đồ trong trắc địa , vẽ cắt dọc ngang kênh mương ,đường giao thông ,vẽ cắt ngang tường hoặc làm công việc mả bạn phải đọc dữ liệu theo hàng cột sẽ rất thuận tiện . Còn nhiều vấn đề phải giả quyết tôi không viết hết được trong một bài . Nếu các bạn còn quan tâm đến vấn đề này hãy lên tiếng chúng ta sẽ thảo luận thêm sau .
Chúc vui !
-
của bạn đây :Cái lisp này bị vấn đề là dùng xong nó mất chế độ bắt điểm, Mình loay hoay nhưng chưa sửa được, Bác pro nào thêm dòng lệnh bật lại chế độ bắt điểm júp em luôn với !
Bạn ghi dòng lệnh này vào cuối chương trình trước dòng (princ)
trong đó có nhiều chế độ truy bắt . Không dùng cái nào thì bỏ bớt đi "in, end...."
(command "osnap" "INT,end,mid,cen,nod,qua,ins,per,tan,nea,quick,app" "")
Chúc vui !
-
AutoCAD với Excel
trong AutoLisp
Khi chạy chương trình trong AutoCad đọc dữ liệu từ Excel thường hay bị Virut phá files dữ liệu trong Excel . Đôi khi phải định dạng lại dữ liệu mới chạy được . Bạn nào có kinh nghiệm diệt loại virút này xin hãy chia sẻ . Xin cảm ơn !
[Yêu cầu] lisp Phun tọa độ các điểm từ file txt vào CAD
trong AutoLisp
Đã đăng · Trả lời báo cáo
Nếu bạn đọc dữ liệu trực tiếp từ Excel thì đơn giản hơn nhiều . Trong Excel ghi theo hang theo cột . Mỗi cột là một thông số . Không cần tách xâu .[/size][/font] Có thể chèn ký hiệu trắc địa vào bản vẽ bình thường