![](https://www.cadviet.com/forum/uploads/set_resources_1/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://www.cadviet.com/forum/uploads/monthly_2017_09/G.png.65c7bf151f10eeff6aefe57fc743d4b6.png)
giang_081190
-
Số lượng nội dung
14 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi giang_081190
-
-
Chào các bác!
Em đang có mẫu chìa khóa Mer. Nhưng khi em bắt đầu tạo khuôn cho nó thì báo lỗi.
Em cũng k biết sửa ở đâu được nữa. @@
Nhờ các bác giúp em ạ! :( -
Em thấy vấn đề này chưa ai hỏi cả nên mạo muội lập topic mới.
Vấn đề là em chuyển 1 file từ corel sang CAD. Chuyển đổi ok rất bình thường, Nhưng các đối tượng thì lại k sử dụng được như đối tượng vẽ ra từ CAD. Ví dụ như em k thể Offset cạnh nếu cạnh đó chuyển từ corel sang. Trong khi cạnh em vẽ mới (vẫn trong file đó) thì lại bình thương. Em có đính kèm file ở dưới nhờ các bác chỉ giáo ạ. :(
-
Trước tiên em cảm ơn các bác đã đọc bài này.
Em có 1 file Cad với khung như này ạ
http://www.cadviet.com/upfiles/3/37777_hskt.dwg
Trong đó có 1 khung hồ sơ, với các nội dung em cần thể hiện theo mẫu đó. Các dữ liệu đó em đã có trong file excel như sau ạ
http://www.cadviet.com/upfiles/3/37777_data.rar
Kịch bản là em muốn khi mình bấm lệnh, Cad sẽ hỏi ta nơi lưu trữ file data (có thể nhớ được vị trí lưu để lần sau không chọn lại), rồi chọn số thứ tự cần hiển thị, sau khi bấm ok thì nó sẽ yêu cầu ta chọn vị trí đặt khung. Click là ta có.:D
// Em rất mong muốn các bác giúp em. Hoặc là hướng dẫn em làm với. Em nghĩ chỉ cần làm 1 mẫu thì nếu lần sau có mẫu khác thì em có thể tự làm được ạ.:D
Em cảm ơn các bác đã theo dõi ạ.:D
-
Câu này mới là "lạ" nè.
Bạn có yêu cầu gì thì cứ post lên diễn đàn (nhớ trình bày rõ ràng, có file cad càng tốt), còn việc có ai viết hay không thì "hãy đợi đấy ...".
Vâng. Cháu cảm ơn bác. Hôm nào cháu kiếm topic bài bản về lisp học cố lấy cấu trúc vậy. Sẽ tốt hơn nếu ta chủ động.:D
-
1
-
-
Tại Tot77 không để ý, chứ trên forum còn có nhiều "đại thụ". #8
Bác GiaBach cho cháu hỏi cháu có thể nhờ các bác các anh viết 1 lisp đơn giản được k ạ. Chỉ là lấy dữ liệu từ excel rồi cho vào 1 khung theo mẫu sẵn.
// Ngày trước cách đây khoảng 3 năm cháu học VB thì làm thấy không khó lắm. Nhưng rồi đi làm chẳng nhớ gì hết cả. :(
-
Vậy chắc sau này ai mà cỡ 9x chắc phải nên xưng cháu với bác PTBình chăng? -_- -_-
K biết thì là bạn, anh (Hay chị Hoặc thím)
// CHứ biết rồi thì k thể nào mà ... :D
-
Em tìm được lisp Flat trên diễn đàn để chuyển Z=0 rồi ạ.:D
Cảm ơn các bác, các anh em.:D;; free lisp from cadviet.com ;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/54646-yeu-cau-chuyen-cao-do-z-cua-cac-loai-doi-tuong-ve-z-0/ (defun c:flat ( / acsel elv ) (vl-load-com) (if (ssget "_X" (list (cons 410 (getvar 'CTAB)))) (progn (vlax-for obj (setq acsel (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) (foreach elv '(1e99 -1e99) (vl-catch-all-apply 'vla-move (list obj (vlax-3D-point '(0. 0. 0.)) (vlax-3D-point (list 0. 0. elv))) ) ) ) (vla-delete acsel) ) ) (princ) )
-
Cái "cháu" này lạ thật!! nhìn cái bảng to chần zần như vậy mà không biết nó là 3dline hay sao? trị số dx,dy,dz đều khác 0, đo trên mặt phẳng xy nó là 0.3651, nhưng sự thật chiều dài 3d là 2.5849. Dù "cháu" có move tận chân trời góc bể mà không chuyển nó về 2d thì đo nó vẫn vậy thôi.
Mình biết nó hiện 3D length. Nhưng vấn đề được đặt ra là làm cách nào giải quyết trường hợp này không thôi.
//Mình xưng hô bác cháu với bác GiaBach vì theo dõi có vài post bác giới thiệu bác tầm 6x. ~~ hơn tuổi bố mình rồi.:D
-
Khi cao độ (Z) của điểm đầu và điểm cuối khác nhau (Line 3D) thì Cad báo thêm "3D Length" và "Curent UCS Length"
:)))) Đúng là cái này. Xấu hổ vì là dân Trắc địa quá. :">
Vậy là file xuất ra theo dạng file CAD nó sẽ bắn luôn độ cao Z. Còn khi xuất ra tọa độ rồi dùng lisp triển điểm thì nó k có Z mà chỉ có độ cao ghi lại.
// Vậy bác GiaBach cho cháu hỏi có cách nào khắc phục file này k?
-
Do có hai đường line trùng nhau trên hình chiếu bằng :
- 1 line thuộc lớp "dientich" có chều dài là 2.5849
- và line thuộc lớp "Duong" có chều dài là 1.4730
nên khi dùng lệnh Dist (di) sẽ bị bắt điểm nhầm.
Bác GiaBach cho cháu hỏi tiếp là vẫn đường line ấy. Move riêng ra 1 chỗ, không bị bắt điểm nhầm nữa. Nhưng nó vẫn hiện 3D length. k hiện giá trị thực mình cần. Cái này cháu thắc mắc lắm .@@
-
Do có hai đường line trùng nhau trên hình chiếu bằng :
- 1 line thuộc lớp "dientich" có chều dài là 2.5849
- và line thuộc lớp "Duong" có chều dài là 1.4730
nên khi dùng lệnh Dist (di) sẽ bị bắt điểm nhầm.
Có thể bác giabach ạ. Nhưng cũng nhiều trường hợp cháu làm thì k bị như trên. @@ mà trước khi nối điểm triển điểm thì cháu cũng định dạng bản vẽ về đơn vị, xoay góc ... Vậy có cách nào giải quyết k bác?
-
Quên là Khi em dùng lệnh DAL thì nó vẫn cho ra kết quả đúng là 0.37 m. @@
-
Em có file CaD và em cần xuất cạnh của 1 cạnh như sau ạ
http://www.cadviet.com/upfiles/3/37777_nghiapeo.lsp
http://www.cadviet.com/upfiles/3/37777_thac_mac.dwg
Đây là file lisp và file CAD em thắc mắc ạ.
Sẽ chẳng vấn đề gì khi như mọi file khác em dùng lisp trên xuất từng cạnh mình cần
Nhưng khi em xuất cạnh ở file CAD trên bằng Lisp ở trên luôn thì no hiện là hiện 3D length (Mục 3) = 2.58
Hay khi em dùng lệnh DI ( Distance ) thì nó hiện kết quả là 1.47
Nhưng chiều dài thực tế của line này là 0.37 (Mục 2 ) ạ.
Bác nào giải thích giúp em với.
Em dùng máy Toàn đạc điện tử Gowin xuất ra tọa độ rồi triển điểm lên CAD ạ. @@
Nhiều file bị chứ k riêng file em ví dụ này. =>> Các máy toàn đạc khác thì em chưa thử. @@
// Mong các bác giải thích cho em với. :(
Đây là nội dung lisp ạ.@@
(defun c:dd ( ) (command "undo" "be") (command "-style" "ktdt" "VNI-HELVE" "0" "1" "0" "n" "n") (if (null dolora)(setq dolora "1")) (Setq temp T) (While temp (setq a (strcat "\nD lon text hien hanh la (" dolora ") /<Diem dau tien>: ")) (Initget "d D") (setq str (getpoint a)) (Cond ((= str "d") (setq dolora (getstring (strcat"\nDo lon text <" dolora "> :")))) ((= str "D") (setq dolora (getstring (strcat"\nDo lon text <" dolora "> :")))) (Progn (Setq a str) (setq temp nil) ) ) ) (setq b (getpoint a"\nChon diem tiep theo: ")) (setq luubatdiem (getvar "osmode")) (setvar "osmode" 0) (setq doclora (atof dolora)) (setq gocxeo(angle a B)) (setq daiab (Distance a B)) (setq c (polar a gocxeo (/ daiab 2))) (setq d (polar c (+ gocxeo (/ pi 2)) (/ doclora 4))) z (command ".line" a b "") (command "text" "j" "c" c doclora b (rtos daiab 2 2) "") (command ".move" "last" "" c d) (cond ((> gocxeo (/ pi 2)) (command ".rotate" "last" "" c 0)) ) (setvar "osmode" luubatdiem) (command "undo" "end") (Princ) )
[Đã xong]Rải đối tượng theo đường dẫn Dynamic
trong AutoLisp
Đã đăng · Trả lời báo cáo
Lisp xoay đối tượng theo kiểu gì các bác nhỉ? Em rải đối tượng nó xoay k đúng ý của mình @@