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  
vuminhchau

Làm sao để Text đè lên đường Pline như hình minh họa của Lee mac

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

vuminhchau    1

em có tìm được cái lisp của Lee mac nhưng vì vốn tiến Anh kém nên không nhờ được sự giúp đỡ của Lee mac!

có anh em nào đã dùng cái lisp này của Lee mac thì bày giúp em với về vấn đề muốn Text nó đè lên đường Pline thì đoạn có Text nó che khuất đoạn thẳng có Text như hình minh họa kèm theo. cảm ơn rất nhiều! http://www.cadviet.com/upfiles/3/104547_dtcurvev29.lsp

104547_dtcurve1.gif

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.653

Khó khăn ở chỗ nào đây bạn ? Khi Text nằm trên Curve, muốn nó che đi thì bạn nhấn B. Chú ý là chức năng này LeeMac sử dụng Background Mask của MText, nên đương nhiên sẽ chỉ có khi bạn thực hiện lệnh với MText

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 có tìm được cái lisp của Lee mac nhưng vì vốn tiến Anh kém nên không nhờ được sự giúp đỡ của Lee mac!

có anh em nào đã dùng cái lisp này của Lee mac thì bày giúp em với về vấn đề muốn Text nó đè lên đường Pline thì đoạn có Text nó che khuất đoạn thẳng có Text như hình minh họa kèm theo. cảm ơn rất nhiều! http://www.cadviet.c..._dtcurvev29.lsp

 

 

Hề hề hề,

Bạn thử xài lệnh text mask của bộ Expresstools xem có đúng ý bạn muốn không.

Thực tình chưa hiểu rõ ý bạn là muốn hỏi về cái lisp của lee mac hay bạn muốn hỏi cách tạo ra cái text có đặc tính như vậy.

Nếu mình nhớ không nhầm thì trên diễn đà cũng đã có topic về vấn đề này, Bạn thử tìm kiếm xem sao 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
vuminhchau    1

Khó khăn ở chỗ nào đây bạn ? Khi Text nằm trên Curve, muốn nó che đi thì bạn nhấn B. Chú ý là chức năng này LeeMac sử dụng Background Mask của MText, nên đương nhiên sẽ chỉ có khi bạn thực hiện lệnh với MText

Em dùng lệnh DTCurve sau đó chon Text rồi chọn đường Pline, chon B (thì nó hiện nên thông báo như dưới đây là sao vậy anh ketxu nhỉ?

 

Command: DTCurve

 

Type or Select Text <text> :

Select Curve:

[+] or [-] for [O]ffset, [P]erpendicularity Toggle

[M]irror Text, tyle Settings, ackground Mask

** Error: no function definition: VLA-GET-BACKGROUNDFILL **

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
vuminhchau    1

Bạn thêm dòng này vào trên cùng file lisp

(vl-load-com)

Em cho lên trên cùng có phải đoạn này không anh ketxu:

 

(VL - Load - Com)

;;-----------------------=={ Dynamic Text Curve Align }==----------------------;;

;; ;;

;; The Program will prompt the user to either Select existing text to align, ;;

;; or specify New Text. The user will then be prompted to select a curve, and ;;

;; the text specified/selected will be dynamically aligned to the selected ;;

;; curve..................................................

 

khi cho lên đây thì mở file cad lên nó bị lỗi như thế này, có phải em cho chữ (vl-load-com) lên trên cùng file lisp như trên là sai không ạ?

 

Regenerating model.

 

AutoCAD menu utilities loaded.; error: LOAD failed: "acadapp"

; error: no function definition: VL

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
Doan Van Ha    2.680

Em cho lên trên cùng có phải đoạn này không anh ketxu:

(VL - Load - Com)

Vị trí đặt thì Ok nhưng tên hàm sai cú pháp: bạn tự sinh ra dấu cách giữa các ký tự để làm gì?

Đúng là như thế này (như Ketxu ở trên):

(vl-load-com)

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
vuminhchau    1

Em dùng các bước di chuyen Text tâm đường Pline sau đó gõ tiếp chữ B thì nó lại quay Text về vị trí cũ như chưa dùng lệnh!

Command: DTCurve

 

Type or Select Text <text> :

Select Curve:

[+] or [-] for [O]ffset, [P]erpendicularity Toggle

[M]irror Text, tyle Settings, ackground Mask

** Error: no function definition: VLA-GET-BACKGROUNDFILL **

Command:

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.653

1 - Bạn đã làm đúng như mình nói chưa ? Dòng (vl-load-com) đã cho vào chưa ? (và nhớ đừng tự biên tự diễn đặt dấu cách vào nhé, nó là hàm chuẩn của Lisp, không phải tên trong văn bản đâu ^^)

2 - Bạn dùng CAD nào ?

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
vuminhchau    1

em đã sửa như anh chỉ là thêm (vl-load-com) lên trên cùng nhưng cũng vẫn không được. hay tại em dùng cad2004 anh nhỉ? nó vẫn báo ** Error: no function definition: VLA-GET-BACKGROUNDFILL ** khi gõ chữ B

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.653

Mình không chắc Cad2004 có background cho MText hay chưa, Bạn copy đoạn sau vào trong dòng lệnh của CAD, enter, chọn đối tượng Text bạn dùng trong lisp, sau đó copy toàn bộ thông báo lên đây, chúng ta sẽ có câu trả lời cho vấn đề về hàm này :

(vlax-dump-object (vlax-ename->vla-object (car(entsel))) T)

  • 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
vuminhchau    1

Mình không chắc Cad2004 có background cho MText hay chưa, Bạn copy đoạn sau vào trong dòng lệnh của CAD, enter, chọn đối tượng Text bạn dùng trong lisp, sau đó copy toàn bộ thông báo lên đây, chúng ta sẽ có câu trả lời cho vấn đề về hàm này :

(vlax-dump-object (vlax-ename->vla-object (car(entsel))) T)

đây là thông báo mà em nhận được:

 

Command: DTCurve

 

CHON TEXT <LEE MAC> :

LUA CHON DUONG CHO TEXT CHAY SONG SONG:

[+] or [-] for [O]ffset, [P]erpendicularity Toggle

[M]irror Text, tyle Settings, ackground Mask

 

Command:

Command: (vlax-dump-object (vlax-ename->vla-object (car(entsel))) T)

Select object: ; IAcadMText: AutoCAD MText Interface

; Property values:

; Application (RO) = #<VLA-OBJECT IAcadApplication 00b5e51c>

; AttachmentPoint = 5

; Document (RO) = #<VLA-OBJECT IAcadDocument 023e1380>

; DrawingDirection = 5

; Handle (RO) = "8A"

; HasExtensionDictionary (RO) = 0

; Height = 0.2

; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 011b3e64>

; InsertionPoint = (18.2897 14.5321 0.0)

; Layer = "0"

; LineSpacingDistance = 0.333333

; LineSpacingFactor = 1.0

; LineSpacingStyle = 1

; Linetype = "ByLayer"

; LinetypeScale = 1.0

; Lineweight = -1

; Normal = (0.0 0.0 1.0)

; ObjectID (RO) = 2130132624

; ObjectName (RO) = "AcDbMText"

; OwnerID (RO) = 2130132216

; PlotStyleName = "ByLayer"

; Rotation = 0.254958

; StyleName = "Standard"

; TextString = "LEE MAC"

; TrueColor = #<VLA-OBJECT IAcadAcCmColor 011b4a90>

; Visible = -1

; Width = 15.9872

; Methods supported:

; ArrayPolar (3)

; ArrayRectangular (6)

; Copy ()

; Delete ()

; GetBoundingBox (2)

; GetExtensionDictionary ()

; GetXData (3)

; Highlight (1)

; IntersectWith (2)

; Mirror (2)

; Mirror3D (3)

; Move (2)

; Rotate (2)

; Rotate3D (3)

; ScaleEntity (2)

; SetXData (2)

; TransformBy (1)

; Update ()

T

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.653

Ok. Đối tượng của bạn không có BackgroundFill, có thể là do đời CAD 2004 chưa có :) Srr vì k dùng CAD2004 nên phải dài dòng vậy. Hãy dùng textmask như lời khuyên của bác Bình sau khi chạy Lisp của LM

  • 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

Ok. Đối tượng của bạn không có BackgroundFill, có thể là do đời CAD 2004 chưa có :) Srr vì k dùng CAD2004 nên phải dài dòng vậy. Hãy dùng textmask như lời khuyên của bác Bình sau khi chạy Lisp của LM

Hề hề hề,

Chính xác là cad2004 không có cái property Backgroundfill này các 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
vuminhchau    1

bac bình ơi, bác co thể thêm cho em mấy dòng vào cái lisp của Lee mac cái chức năng textmask để khi thực hiện xong cái trên thì có tùy chọn textmask được không ạ? cảm ơn cac bác rất nhiều!

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  

×