Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
NguyenNgocSon

[Nhờ chỉnh sửa] Lisp ghi cao độ

Các bài được khuyến nghị

Mình chạy báo lỗi :

Command: Diem tim TN tu nhien

Chon cao do tim:

Select objects: 1 found

Select objects:

Select objects: Specify opposite corner: 14 found

Select objects: ; error: bad argument type: point: nil

??

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    3.123

Mình chạy báo lỗi :

Command: Diem tim TN tu nhien

Chon cao do tim:

Select objects: 1 found

Select objects:

Select objects: Specify opposite corner: 14 found

Select objects: ; error: bad argument type: point: nil

??

Hề hề hề,

Bạn chạy cái chi nó báo lỗi??? Nếu là chạy cái lisp mình sửa thì bạn thử kiểm tra như sau:

Theo như cái báo lỗi thì có thể là nó không tìm được point ptside. Vậy bạn có thấy nó nhắc : "Phia chen:" trên dòng command không, và bạn đã chọn phía chèn text chưa???

Hề hề hề, mong rằng bạn sẽ chạy lại cẩn thận hơn bạn nhé (nếu như bạn chạy thử cái lisp mình đã sửa...)

Chúc bạn vui.

 

Hề hề hề,

Đúng là lisp có lỗi bạn ạ. Do mình test không kỹ. Lý do là khi mình test thì đã có điểm pt do các lần trước chạy thử mà chưa trả nó về nil.

Vậy nên hàm (setq ptside (getpoint "\nPhia chen:" pt)) nó không báo lỗi. Còn khi bạn chạy bắt đầu, cái thằng pt này chưa có nên nó báo lỗi. Do vậy bạn chỉ cần xóa nó trong hàm này đi để thành (setq ptside (getpoint "\nPhia chen:")) là nó hết báo lỗi bạn ạ.

Bạn hãy thử xem nhé.

Mình sẽ sửa lại code ở bài post trước đó. Rất mong bạn tha lỗi và nếu bạn không muốn tự sửa, có thể down lại code từ bài trên để chạy thử.

Chúc bạn vui lần nữa....

Chỉnh sửa theo phamthanhbinh
Đính chính lisp
  • Vote tăng 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
ketxu    2.649

Em nhìn thấy dòng này trong code nè ^^

(setq ;;;;;;;;; ptside (getpoint "\nPhia chen:" pt)

ang (angle pt ptside))

Thế này thì còn đâu thao tác chọn ptside nữa, nên dòng (angle pt ptside) sẽ báo badtype ngay ^^

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    3.123

Em nhìn thấy dòng này trong code nè ^^

 

Thế này thì còn đâu thao tác chọn ptside nữa, nên dòng (angle pt ptside) sẽ báo badtype ngay ^^

Hổng phải đâu là hổng phải đâu,

Mình đã copy nó lên phía trên rùi mà. Nhưng sai là ở thằng pt như mình đã nói ở bài trên....

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" có thể giúp mình: các điểm chèn có thể được chọn theo hướng từ trái qua phải tại các giao điểm của đường chuẩn với các đường chọn không? như thế quy luật pick điểm sẽ rõ ràng hơn. Thank bạn !

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    3.123

"phamthanhbinh" có thể giúp mình: các điểm chèn có thể được chọn theo hướng từ trái qua phải tại các giao điểm của đường chuẩn với các đường chọn không? như thế quy luật pick điểm sẽ rõ ràng hơn. Thank bạn !

Hề hề hề,

Hoàn toàn không hiểu ý bạn làm vậy để làm gì. Việc sắp xếp các giao điểm này không khó nhưng nó chả giúp ích gì cho cái việc ghi text này cả nếu như không nói là nó chỉ làm cho phức tạp vấn đề lên. Phải chăng bạn thừa giấy thì vẽ thêm voi???

Yêu cầu bạn đặt ra đã được lisp giải quyết tốt chưa và có gì cần bổ sung. Nếu nó chưa đáp ứng được thì bạn cần nói rõ ở chỗ nào chứ không phải bạn lại đặt ra những điều kiện mới buộc người viết lisp phải làm lại như vậy.

Nếu bạn muốn đặt thêm các bài toán mới thì nên lập một topic mới chứ không thể kéo dài một topic như vậy.

Còn cái quy luật pick điểm trong cái lisp của mình đã sửa ở trên là khá rõ ràng chứ không phải không có quy luật như bạn nghĩ. Đó là nó dựa vào cái trật tự của các *line trong tập chọn sslst trong cái lisp của chính bạn đã post. Trật tự này hoàn toàn phụ thuộc vào cái cách lựa chọn khi bạn chọn chúng. Vậy nên nếu bạn muốn nó có trật tự ra sao thì hãy pick các đối tượng trong tập chọn này theo trật tự đó.

Còn nếu bạn lựa chọn bừa bãi thì cũng có cách để sắp xếp lại, nhưng như vậy chỉ là một việc thừa nên mình sẽ không giúp được bạn đâu.

Chào bạn và chúc bạn vui.

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

Chào các anh, các anh giúp em với, em không biết viết lisp. Em đang đi thi công, cần đo và kiểm tra hiện trạng của nhà thầu đào và đắp đến đâu, khối lượng còn lại là bao nhiêu. Em đã vẽ đường hiện trạng thi công lên trắc ngang, em nhờ các anh sửa lisp để chỉ cần pick vào pline là sẽ điền ngay cao độ tự nhiên và khoảng cách các điểm đo luôn. Em cũng đang dùng lisp CDTN nhưng phải pick chọn từng điểm của pline hiện trạng thi công. Thêm nữa em muốn bỏ qua mục chọn tỷ lệ theo phương X, tỷ lệ theo phương Y, và đặt mặc định luôn là 1/1. Em đã vẽ được một đường thẳng nối từ ĐIỂM TIM TRẮC NGANG TỰ NHIÊN xuống dưới và có chiều dài bằng cao độ tự nhiên(cái đường này em dùng để vẽ cái Pline hiện trạng thi công ạ). Nếu có thể các anh sử dụng được đường thẳng này để khỏi phải chọn lại ĐIỂM TIM TRẮC NGANG TỰ NHIÊN và CAO ĐỘ TỰ NHIÊN thì tốt quá. Cảm ơn các anh. Đây là file cad và lisp CDTN em đang dùng ạ: http://www.cadviet.c...107104_help.rar

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

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×