Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
15 replies to this topic

#1 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 24 April 2012 - 01:35 PM

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ình đã gửi
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 24 April 2012 - 02:47 PM

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
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 24 April 2012 - 03:37 PM

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é.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#4 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 24 April 2012 - 04:51 PM

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, [S]tyle Settings, [B]ackground Mask
** Error: no function definition: VLA-GET-BACKGROUNDFILL **
  • 0

#5 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 24 April 2012 - 05:04 PM

Bạn thêm dòng này vào trên cùng file lisp
(vl-load-com)
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#6 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 24 April 2012 - 05:25 PM

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
  • 0

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 24 April 2012 - 05:40 PM

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)
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#8 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 24 April 2012 - 05:54 PM

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, [S]tyle Settings, [B]ackground Mask
** Error: no function definition: VLA-GET-BACKGROUNDFILL **
Command:
  • 0

#9 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 24 April 2012 - 09:59 PM

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 ?
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#10 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 24 April 2012 - 11:23 PM

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
  • 0

#11 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 24 April 2012 - 11:36 PM

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

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#12 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 April 2012 - 12:06 AM

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, [S]tyle Settings, [B]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
  • 0

#13 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 25 April 2012 - 12:12 AM

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

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#14 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 April 2012 - 12:26 AM

oh vậy ạ, có lẽ phải chuyển sang cad cao hơn để trải nghiệm thôi. cảm ơn anh rất nhiều vì sự nhiệt tình! chúc anh ketxu ngu ngon!
  • 0

#15 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 25 April 2012 - 10:21 AM

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 ạ,
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#16 vuminhchau

vuminhchau

    biết vẽ polygon

  • Members
  • PipPip
  • 72 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 26 April 2012 - 09:15 AM

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!
  • 0