phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 3 21, 2014 Nhờ các bác ở trường hợp này : Đoạn tuyến PL dài và cong nhiều chỗ dẫn đễn chỗ quay ngược chỗ quay suôi. Bác giải quyết hộ em với thì tốt quáhttp://www.cadviet.com/upfiles/3/70461_vd_1.dwg Hề hề hề, Hãy định nghĩa cho rõ thế nào là ngược và thế nào là xuôi........ Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
thai11000 4 Báo cáo bài đăng Đã đăng Tháng 3 22, 2014 Dạ! ý em là làm sao để mà chỉ để nó xoay theo chiều kim đồng hồ 1 góc <180 thôi. vì có những đoạn xoay > 180 thì khi mình in ấn nó bị ngược rất khó đọc ạ! Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 3 22, 2014 Dạ! ý em là làm sao để mà chỉ để nó xoay theo chiều kim đồng hồ 1 góc <180 thôi. vì có những đoạn xoay > 180 thì khi mình in ấn nó bị ngược rất khó đọc ạ! Hề hề hề, Vậy thì trên bản vẽ bạn gửi đâu có thấy chử nào ngược???? Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
thai11000 4 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Hề hề hề, Vậy thì trên bản vẽ bạn gửi đâu có thấy chử nào ngược???? Em gửi file lên bác xem hộ em cái nhé!chứ em ko biết diễn tả nó thế nào!http://www.cadviet.com/upfiles/3/70461_vd_2.dwg Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Em gửi file lên bác xem hộ em cái nhé!chứ em ko biết diễn tả nó thế nào!http://www.cadviet.com/upfiles/3/70461_vd_2.dwg Hề hề hề, Thử dùng cái này coi đã đúng ý chưa nhé. Thiệt tình vẫn chưa hiểu rõ ý đồ của bạn. http://www.cadviet.com/upfiles/3/5194_xoaytext.lsp 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
thai11000 4 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Hề hề hề, Thử dùng cái này coi đã đúng ý chưa nhé. Thiệt tình vẫn chưa hiểu rõ ý đồ của bạn. http://www.cadviet.com/upfiles/3/5194_xoaytext.lsp Thanks bác nhiều vì đã nhiệt tình giúp em! Lisp này thì lỗi error: bad argument type: numberp: nil bác ạ. Không thực hiện được lệnh. Có khi em dùng cái lisp cũ trên của bác rồi thêm thủ công 1 vài chỗ nữa vậy!:(( Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Thanks bác nhiều vì đã nhiệt tình giúp em! Lisp này thì lỗi error: bad argument type: numberp: nil bác ạ. Không thực hiện được lệnh. Có khi em dùng cái lisp cũ trên của bác rồi thêm thủ công 1 vài chỗ nữa vậy! :(( Hề hề hề, Lỗi này mình cũng chưa rõ tại sao. Trên bản vẽ của bạn có một số text không thể xoay được, lisp luôn báo lỗi không tìm được điểm gần nhất trên polyline của text. Tuy nhiên khi mình thay polyline bằng một polyline khác thì nó lại xoay ào ào mà chẳng hề báo lỗi. Mình đang nghi ngờ polyline của bạn có chứa các arc hoặc các đoạn cong phức tạp khác như elip nên việc xác đinh điểm gần nhất bị trục trặc. ba5n hãy thử thay thế polyline của bạn bằng một polyline đơn thuần gồm toàn các phân đọan thẳng xem sao nhé. Mình chưa rõ nguyên nhân nên chưa thể khắc phục được ngay, Vẫn còn đang mò mẫm tìm hiểu thêm. Nếu thay bằng một polyline gồm chỉ có các phân đoạn thẳng mà lisp vẫn không chạy thì bạn hãy post cái bản vẽ đó lên để mình check thêm. Chúc bạn vui. 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
gia_bach 1558 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Hề hề hề, Lỗi này mình cũng chưa rõ tại sao. Trên bản vẽ của bạn có một số text không thể xoay được, lisp luôn báo lỗi không tìm được điểm gần nhất trên polyline của text. Tuy nhiên khi mình thay polyline bằng một polyline khác thì nó lại xoay ào ào mà chẳng hề báo lỗi. Mình đang nghi ngờ polyline của bạn có chứa các arc hoặc các đoạn cong phức tạp khác như elip nên việc xác đinh điểm gần nhất bị trục trặc. ba5n hãy thử thay thế polyline của bạn bằng một polyline đơn thuần gồm toàn các phân đọan thẳng xem sao nhé. Mình chưa rõ nguyên nhân nên chưa thể khắc phục được ngay, Vẫn còn đang mò mẫm tìm hiểu thêm. Nếu thay bằng một polyline gồm chỉ có các phân đoạn thẳng mà lisp vẫn không chạy thì bạn hãy post cái bản vẽ đó lên để mình check thêm. Chúc bạn vui. Lỗi xảy ra khi Text cần xoay nằm ngoài Pline. Khắc phục : Bác Bình xoá kí tự T trong các dòng : (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) và (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) là được. (hình như y/cầu của thai11000 về góc của Text không đúng qui định về góc nghiêng của Text trong bản vẽ kĩ thuật) (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Lỗi xảy ra khi Text cần xoay nằm ngoài Pline. Khắc phục : Bác Bình xoá kí tự T trong các dòng : (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) và (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) là được. (hình như y/cầu của thai11000 về góc của Text không đúng qui định về góc nghiêng của Text trong bản vẽ kĩ thuật) (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) Hề hề hề, Cám ơn bác Gia_bach đã chỉ giáo, nhưng hình như lỗi không phải chỉ có vậy bác ạ. Tham số T là để tìm điểm gần nhất khi kéo dài polyline (tức là điểm đó nằm ngoài pline). do vậy sẽ không có giá trị parameter của điểm này. Tuy nhiên mình đã test kiểm tra trên bản vẽ của chủ thớt gửi thì ví dụ như hình gửi dưới đây, điểm 2.37 (khoanh màu vàng) rõ ràng là nằm trong polyline màu đỏ, nhưng vẫn bị lỗi không tìm được diểm gần nhất. Nếu mình thay đường polylone màu đỏ bằng đường màu vàng thì nó lại xoay như chảo chớp mặc dầu vẫn sử dụng cùng một lisp bác ạ. Mình đả test khá kỹ và trên bản vẽ của chủ thớt không chỉ có một điểm bất thường này mà còn khá nhiều điểm khác. Chưa hiểu rõ nguyên nhân nên mình chưa thể khắc phục, nhờ các bác test lại và nếu có thể chỉ rõ lỗi của lisp để mình rút kinh nghiệm. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
thai11000 4 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Hề hề hề, Lỗi này mình cũng chưa rõ tại sao. Trên bản vẽ của bạn có một số text không thể xoay được, lisp luôn báo lỗi không tìm được điểm gần nhất trên polyline của text. Tuy nhiên khi mình thay polyline bằng một polyline khác thì nó lại xoay ào ào mà chẳng hề báo lỗi. Mình đang nghi ngờ polyline của bạn có chứa các arc hoặc các đoạn cong phức tạp khác như elip nên việc xác đinh điểm gần nhất bị trục trặc. ba5n hãy thử thay thế polyline của bạn bằng một polyline đơn thuần gồm toàn các phân đọan thẳng xem sao nhé. Mình chưa rõ nguyên nhân nên chưa thể khắc phục được ngay, Vẫn còn đang mò mẫm tìm hiểu thêm. Nếu thay bằng một polyline gồm chỉ có các phân đoạn thẳng mà lisp vẫn không chạy thì bạn hãy post cái bản vẽ đó lên để mình check thêm. Chúc bạn vui. Chuẩn bác Bình ạ! PL của em là liền của đường cong và các đoạn cánh tuyến. Nhưng em nối hết chúng thành 1 pl thì em nghĩ nó cũng sẽ hiểu tương tự thôi. chứ text thì em không biết nó có lỗi hay có gì bất thường không nữa! Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
thai11000 4 Báo cáo bài đăng Đã đăng Tháng 3 24, 2014 Lỗi xảy ra khi Text cần xoay nằm ngoài Pline. Khắc phục : Bác Bình xoá kí tự T trong các dòng : (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) và (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) là được. (hình như y/cầu của thai11000 về góc của Text không đúng qui định về góc nghiêng của Text trong bản vẽ kĩ thuật) (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 11 etxt)) T) (vlax-curve-getclosestpointto obj (cdr (assoc 10 etxt)) T) Bản vẽ của em là bản bình đồ bác ạ. Bình thường khi phun text lên thì tất cả đều quay theo hướng Bắc theo đúng quy định. Nhưng mà khi em in bình đồ thành nhiều đoạn thì phải xoay để cho nó song song với tuyến cho dọc được cao độ text. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
gia_bach 1558 Báo cáo bài đăng Đã đăng Tháng 3 25, 2014 Hề hề hề, Cám ơn bác Gia_bach đã chỉ giáo, nhưng hình như lỗi không phải chỉ có vậy bác ạ. Tham số T là để tìm điểm gần nhất khi kéo dài polyline (tức là điểm đó nằm ngoài pline). do vậy sẽ không có giá trị parameter của điểm này. Tuy nhiên mình đã test kiểm tra trên bản vẽ của chủ thớt gửi thì ví dụ như hình gửi dưới đây, điểm 2.37 (khoanh màu vàng) rõ ràng là nằm trong polyline màu đỏ, nhưng vẫn bị lỗi không tìm được diểm gần nhất. Nếu mình thay đường polylone màu đỏ bằng đường màu vàng thì nó lại xoay như chảo chớp mặc dầu vẫn sử dụng cùng một lisp bác ạ. Mình đả test khá kỹ và trên bản vẽ của chủ thớt không chỉ có một điểm bất thường này mà còn khá nhiều điểm khác. Chưa hiểu rõ nguyên nhân nên mình chưa thể khắc phục, nhờ các bác test lại và nếu có thể chỉ rõ lỗi của lisp để mình rút kinh nghiệm. ................ Sorry bác Bình. Đúng là có những Text mặc dù nằm trong Pline nhưng vẫn bị lỗi. Không chắc chắn lắm, nhưng nhiều khả năng là do Pline trong file Cad này là 2DPolyline nên có những lỗi bất thường (CadViet cũng đã có nhiều bài viết về lỗi do các Pline version cũ). Tôi thử dùng lệnh Convert để chuyển qua Polyline thì Lisp của bác chạy êm cho toàn bộ TEXT. 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
thai11000 4 Báo cáo bài đăng Đã đăng Tháng 3 25, 2014 Sorry bác Bình. Đúng là có những Text mặc dù nằm trong Pline nhưng vẫn bị lỗi. Không chắc chắn lắm, nhưng nhiều khả năng là do Pline trong file Cad này là 2DPolyline nên có những lỗi bất thường (CadViet cũng đã có nhiều bài viết về lỗi do các Pline version cũ). Tôi thử dùng lệnh Convert để chuyển qua Polyline thì Lisp của bác chạy êm cho toàn bộ TEXT. Cảm ơn bác Gia_Bach! Về cơ bản vấn đề của em đã được giải quyết ở phát hiện của bác! Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
minhnhu.uct 0 Báo cáo bài đăng Đã đăng Tháng 12 3, 2015 Lần đầu lên diễn đàn post bài hỏi anh em, còn nhiều bỡ ngỡ mong anh em thông cảm. Mình có tìm kiếm trong 4rom các lisp " xoay text theo đường PL". Nhưng dowload về load lên đều không dùng được ( không nhận lệnh). A e nào co cho mình xin. Cam on ạ. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 12 4, 2015 Lần đầu lên diễn đàn post bài hỏi anh em, còn nhiều bỡ ngỡ mong anh em thông cảm. Mình có tìm kiếm trong 4rom các lisp " xoay text theo đường PL". Nhưng dowload về load lên đều không dùng được ( không nhận lệnh). A e nào co cho mình xin. Cam on ạ. Hề hề hề, Không rõ bạn đã download ra sao nhưng mình thử dowload từ diễn đàn vẫn thấy ngon lành và lisp vẫn chạy phe phé mà. Bạn hãy thử lại xem sao. Nếu không được thì cho địa chỉ mail mình sẽ gửi cho. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lanvientkh 13 Báo cáo bài đăng Đã đăng Tháng 9 1, 2016 Hề hề hề, Không rõ bạn đã download ra sao nhưng mình thử dowload từ diễn đàn vẫn thấy ngon lành và lisp vẫn chạy phe phé mà. Bạn hãy thử lại xem sao. Nếu không được thì cho địa chỉ mail mình sẽ gửi cho. Bác Bình ơi sau khi xoay các text của mình bị lộn ngược thế này, bác có thể sửa lại dùm được ko, Lisp này có thêm tính năng như chọn được nhiều Text sau đó chọn được nhiều line và xoay song song theo Line đó nữa thì hay, cảm ơn bác http://www.cadviet.com/upfiles/6/154521_xoay_text.dwg Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 9 3, 2016 Bác Bình ơi sau khi xoay các text của mình bị lộn ngược thế này, bác có thể sửa lại dùm được ko, Lisp này có thêm tính năng như chọn được nhiều Text sau đó chọn được nhiều line và xoay song song theo Line đó nữa thì hay, cảm ơn bác http://www.cadviet.com/upfiles/6/154521_xoay_text.dwg Hề hề hề, Đơn giản nhất là bạn tạo lại polyline theo hướng ngược lại với hướng của polyline ban đầu là OK. Vì hướng xoay của text phụ thuộc vào hướng của polyline và không rõ các polyline và các text của bạn ra sao nên khó có thể sửa theo ý bạn được. 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lanvientkh 13 Báo cáo bài đăng Đã đăng Tháng 9 8, 2016 Hề hề hề, Đơn giản nhất là bạn tạo lại polyline theo hướng ngược lại với hướng của polyline ban đầu là OK. Vì hướng xoay của text phụ thuộc vào hướng của polyline và không rõ các polyline và các text của bạn ra sao nên khó có thể sửa theo ý bạn được. Hi bạn BÌnh (mode lisp), Bạn có thể thêm vào Lisp lựa chọn là quay Text theo chiều kim đồng hồ hay ngược chiều kim đồng hồ là giải quyết được bài toán này thôi mà, giúp ae bài toán này với nhé Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
quocmanh04tt 638 Báo cáo bài đăng Đã đăng Tháng 9 8, 2016 Bạn thử cái này nhé: 1. Chép hàm sau vào trong lisp (defun FixTextAngle (ang) (if (and (> ang (* 0.5 pi)) (<= ang (* 1.5 pi))) (+ ang pi) ang)) 2. Ở gần cuối lisp thay (cons 50 goc) thành (cons 50 (FixTextAngle goc)) 3. Có gì chưa ổn phản hồi tiếp nhé! 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lanvientkh 13 Báo cáo bài đăng Đã đăng Tháng 9 9, 2016 Cảm ơn quocmanh, Mình tìm được lisp đáp ứng đáp ứng được yêu cầu, nhờ các bạn bổ sung thêm tính năng là text sau khi xoay Text sẽ cách Line một khoảng cách nhất định, cảm ơn các bạn http://www.cadviet.com/upfiles/6/154521_copy.lsp Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lanvientkh 13 Báo cáo bài đăng Đã đăng Tháng 9 9, 2016 Bạn thử cái này nhé: 1. Chép hàm sau vào trong lisp (defun FixTextAngle (ang) (if (and (> ang (* 0.5 pi)) (<= ang (* 1.5 pi))) (+ ang pi) ang)) 2. Ở gần cuối lisp thay (cons 50 goc) thành (cons 50 (FixTextAngle goc)) 3. Có gì chưa ổn phản hồi tiếp nhé! cảm ơn bạn, giúp mình thêm tính năng này với nhé quocmanh Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
quocmanh04tt 638 Báo cáo bài đăng Đã đăng Tháng 9 9, 2016 Khoảng nhất định phải nhập vào à? (Nếu cho text canh lề "Bottom Center" và điểm này nằm giữa đoạn thẳng thì sao?) P/s: Mà nếu cách Line 1 khoảng nhất định thì khi quét chọn 1 lúc nhiều Text thì các text sẽ bị chồng lên nhau. 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lanvientkh 13 Báo cáo bài đăng Đã đăng Tháng 9 9, 2016 Khoảng nhất định phải nhập vào à? (Nếu cho text canh lề "Bottom Center" và điểm này nằm giữa đoạn thẳng thì sao?) P/s: Mà nếu cách Line 1 khoảng nhất định thì khi quét chọn 1 lúc nhiều Text thì các text sẽ bị chồng lên nhau. cảm ơn bạn đã quan tâm nhé - Khoảng cách này mặc định trong lisp luôn bạn, khỏi mất công phải nhập khoảng cách này, nhìn sao thấy đẹp là ok rồi - Mình ko cần căn lề text bạn, chỉ cần các Text cách đường Line với khoảng cách đều mặc định là được - Lisp này có thêm tính năng chọn liên tục (multi) nữa là quá hay, chọn Line 1 sau đó chọn Text 1; chọn Line 2 sau đó chọn Text 2.......(ko biết yêu cầu của mình quá cao ko, nhưng mong muốn của con người là vô hạn, hay đòi hỏi, hihi) http://www.cadviet.com/upfiles/6/154521_xoay_cach_deu_text_3.dwg Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
quocmanh04tt 638 Báo cáo bài đăng Đã đăng Tháng 9 9, 2016 Viết lại cho bạn: (defun c:tt (/ FixTextAngle a ang els ent h mid p pte pts spt txt) (defun FixTextAngle (ang) (if (and (> ang (* 0.5 pi)) (<= ang (* 1.5 pi))) (+ ang pi) ang)) (while (and (setq txt (car (entsel "\nPick Text"))) (wcmatch (cdr (assoc 0 (entget txt))) "TEXT") (setq ent (entsel "\nPick LINE, PLINE: ")) (setq els (entget (car ent))) (wcmatch (cdr (assoc 0 els)) "*LINE")) (setq spt (osnap (cadr ent) "NEA") mid (osnap (cadr ent) "MID")) (if (< (car mid) (car spt)) (setq pts mid pte spt) (setq pts spt pte mid)) (setq ang (FixTextAngle (angle pts pte)) els (entget txt)) (setq h (cdr (assoc 40 els)) p (cons 10 (polar spt (+ ang (* 0.5 pi)) (* 0.5 h))) a (cons 50 ang)) (setq els (subst a (assoc 50 els) els)) (entmod (subst p (assoc 10 els) els))) (princ)) P/s: Chọn Text trước, Line or Pline sau: 1 Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
lanvientkh 13 Báo cáo bài đăng Đã đăng Tháng 9 9, 2016 Cảm ơn bạn, Lisp quá tốt nhưng ko biết sao đôi khi Lisp bị lỗi như file mình đính kèm, bạn kiểm tra dùm mình với nhé http://www.cadviet.com/upfiles/6/154521_test_xoay_cach_deu_text.dwg Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác