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  
zizpo_hetxang

Nhờ Xem Giúp Lips Điền Cao Độ Tk

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

Trước đây em đang dùng lips này nó vẫn chạy tốt không biết đợt này thế nào nó lại báo lỗi

Lips này nó điền cao độ đường pline đã có cao độ 

Error:Automation Error. No database; error: An error has occurred inside the 

*error* functionbad argument type: fixnump: "BYLAYER"

. Sẵn đây anh chị xem giúp. Nếu các bác ngại xem thìị viết giùm lips xuất cao độ của đường Pline. Đường này bản thân nó đã có cao độ, bây giờ em muốn nó xuất ra cao độ ngay trên đường pline đó. em gởi kèm bản vẽ và lips trước đây.

http://www.mediafire.com/download/mmwimfg9beraytl/san+nen1.rar

http://www.mediafire.com/download/hl8my7xnci0hl04/dcd.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
pphung183    425

Trước đây em đang dùng lips này nó vẫn chạy tốt không biết đợt này thế nào nó lại báo lỗi

Lips này nó điền cao độ đường pline đã có cao độ 

Error:Automation Error. No database; error: An error has occurred inside the 

*error* functionbad argument type: fixnump: "BYLAYER"

. Sẵn đây anh chị xem giúp. Nếu các bác ngại xem thìị viết giùm lips xuất cao độ của đường Pline. Đường này bản thân nó đã có cao độ, bây giờ em muốn nó xuất ra cao độ ngay trên đường pline đó. em gởi kèm bản vẽ và lips trước đây.

http://www.mediafire.com/download/mmwimfg9beraytl/san+nen1.rar

http://www.mediafire.com/download/hl8my7xnci0hl04/dcd.lsp

Một cách viết khác :) :

(defun c:dcd (/ doc ms a p) (vl-load-com)
(setq doc (vla-get-activedocument (vlax-get-acad-object)) 
ms (vla-get-modelspace doc))
(if (ssget (list (cons 0 "*POLYLINE"))) 
(vlax-map-collection (vla-get-ActiveSelectionset doc) '(lambda (obj)
(foreach x (acet-geom-vertex-list (vlax-vla-object->ename obj))
(vla-put-Alignment (setq a (vla-addtext ms (rtos (last x) 2 2)
(setq p (vlax-3d-point (list (car x) (cadr x)))) 1.)) 10)
(vla-put-TextAlignmentPoint a p) )))))

Cad bạn phải có Express Tools!

  • 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
phamthanhbinh    3.123

Một cách viết khác :) :

(defun c:dcd (/ doc ms a p) (vl-load-com)
(setq doc (vla-get-activedocument (vlax-get-acad-object)) 
ms (vla-get-modelspace doc))
(if (ssget (list (cons 0 "*POLYLINE"))) 
(vlax-map-collection (vla-get-ActiveSelectionset doc) '(lambda (obj)
(foreach x (acet-geom-vertex-list (vlax-vla-object->ename obj))
(vla-put-Alignment (setq a (vla-addtext ms (rtos (last x) 2 2)
(setq p (vlax-3d-point (list (car x) (cadr x)))) 1.)) 10)
(vla-put-TextAlignmentPoint a p) )))))

Cad bạn phải có Express Tools!

Hề hề hề,

Bác pphung183 có thể giải thích giùm hai tham số 1. và 10 ở trong đoạn code trên giùm mình không???

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    385

Là textsize và textAlignment mà bác!

***

+ (vla-AddText object TextString InsertionPoint Height)
+ (vla-put-Alignment Obj Alignment)
+ Alignment:
'(("L" 0)("C" 1)("R" 2)("M" 4)("TL" 6)("TC" 7)("TR" 8)("ML" 9)("MC" 10)("MR" 11)("BL" 12)("BC" 13)("BR" 14))​

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
ndtnv    396

Cấu trúc lệnh

(vla-put-Alignment object acAlignment)

trong help phần ActiveX and VBA Reference - Properties -  Alignment Property

acAlignment là loại enum

  acAlignmentLeft = 0
  acAlignmentCenter
  acAlignmentRight
  acAlignmentAligned
  acAlignmentMiddle
  acAlignmentFit
  acAlignmentTopLeft
  acAlignmentTopCenter
  acAlignmentTopRight
  acAlignmentMiddleLeft
  acAlignmentMiddleCenter = 10
  acAlignmentMiddleRight
  acAlignmentBottomLeft
  acAlignmentBottomCenter
  acAlignmentBottomRight

Trong lisp trên nếu viết rõ ràng là

(vla-put-Alignment object acAlignmentMiddleCenter)

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
pphung183    425

Hề hề hề,

Bác pphung183 có thể giải thích giùm hai tham số 1. và 10 ở trong đoạn code trên giùm mình không???

Chào bác phamthanhbinh :) !

Tham số 10 thì như giải thích cụ thể của bạn ndtnv , viết rõ ràng là acAlignmentMiddleCenter (sẽ không sợ lỗi không như ý khi Cad thay đổi Version).

Giống như :vlax-true có thể thay bằng 1;   :vlax-false thay bằng 0 ...

Hàm (vla-AddText Object TextString InsertionPoint Height)

Height : Cao Text chính là 1. (lấy theo bản vẽ của chủ thớt)

Lưu ý là : Height > 0 ; tôi thấy là trong diễn đàn một số bạn đặt biến cho Height rất sai lầm :

(setq h (* (getvar "dimtxt") (getvar "dimscale"))). Lý do : (getvar "dimscale") có thể = 0

Vài dòng chia sẽ cùng 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

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  

×