Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
mrluong

ghi chữ có hinh chữ nhật bao quanh

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

xin chào mọi người trong diễn đàn .có ai biết dùng lệnh gì mà ghi được chữ nằm trong hình chữ nhật luôn không .em muốn ghi cao ở trên mặt bằ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
xin chào mọi người trong diễn đàn .có ai biết dùng lệnh gì mà ghi được chữ nằm trong hình chữ nhật luôn không .em muốn ghi cao ở trên mặt bằng

bạn nói rõ được không? đánh tẽt nằm trong hình chữ nhật hay sao?Dùng lệnh T thử xem có đúng ý bạn không nha

  • 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
xin chào mọi người trong diễn đàn .có ai biết dùng lệnh gì mà ghi được chữ nằm trong hình chữ nhật luôn không .em muốn ghi cao ở trên mặt bằng

bạn vào Dimension>torenance>nhập vào text thế là xong.

  • Vote tăng 2

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
xin chào mọi người trong diễn đàn .có ai biết dùng lệnh gì mà ghi được chữ nằm trong hình chữ nhật luôn không .em muốn ghi cao ở trên mặt bằng

Bạn có thể vào Menu Express - Text để thực hiệ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
xin chào mọi người trong diễn đàn .có ai biết dùng lệnh gì mà ghi được chữ nằm trong hình chữ nhật luôn không .em muốn ghi cao ở trên mặt bằng

Dùng lệnh TEXTMASK

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
xin chào mọi người trong diễn đàn .có ai biết dùng lệnh gì mà ghi được chữ nằm trong hình chữ nhật luôn không .em muốn ghi cao ở trên mặt bằng

Bạn dùng lệnh DT đi. Hi vọng như mong đợi của 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
xin chào mọi người trong diễn đàn .có ai biết dùng lệnh gì mà ghi được chữ nằm trong hình chữ nhật luôn không .em muốn ghi cao ở trên mặt bằng

bạn dùng lít này nhé lệnh là TB

(defun C:TB (/ E1 ED EN PT1 PT2 PT3 PT4 PT1A
			   ANG1 ANG2 ITEMS OFFSET i LENGTH LENGTH1
			   OLDCOLR OLDLAY OLDLT)
(SETVAR "CMDECHO" 0)
(COMMAND "UNDO" "MARK") ;UNDO MARKER
;(SETQ OLDCOLR (GETVAR "CECOLOR"))
;(SETQ OLDLAY (GETVAR "CLAYER"))
;(COMMAND "LAYER" "S" "0" "")
;;(COMMAND "COLOR" "7" "")
(SETQ OLDLT (GETVAR "CELTYPE"))
(COMMAND "LINETYPE" "S" "CONTINUOUS" "")
(PROMPT "\n \nDRAW BASIC DIMENSION TYPE BOX AROUND TEXT ITEMS : ")
(SETQ ITEMS (SSGET)); SELECT ITEMS
(SETQ i (SSLENGTH ITEMS));COUNTER
(WHILE (> i 0) ;WHILE ITEMS ARE LEFT
  (SETQ i (1- i))  ;DECREMENT COUNTER
  (SETQ EN (SSNAME ITEMS i));GET NAME
  (SETQ ED (ENTGET EN))	 ;GET ENTITY INFO
  (IF (= "TEXT" (CDR (ASSOC 0 ED)))
  (PROGN				 ;IF ENTITY IS TEXT
	 (SETQ E1 ED)		;SAVE A COPY
	 (SETQ OFFSET (/ (CDR (ASSOC 40 ED)) 2))
	 (SETQ ED (SUBST (CONS 72 2) (ASSOC 72 ED) ED));MAKE TEXT RIGHT JUSTIFIED
	 (ENTMOD ED)
	 (SETQ ED (ENTGET EN));UPDATE ENTITY DETAILS
	 (SETQ PT1 (CDR (ASSOC 10 ED))) ;LEFT ENDPOINT OF MODIFIED TEXT
	 (SETQ PT2 (CDR (ASSOC 11 ED))) ;RIGHT ENDPOINT OF MODIFIED TEXT
	 (SETQ LENGTH (DISTANCE PT1 PT2));CALCULATE LENGTH OF STRING
	 (SETQ ED E1)				   ;RESTORE ORIGINAL JUSTIFICATION
	 (ENTMOD ED)
	 (SETQ PT1A (CDR (ASSOC 10 ED))) ;LOWER LEFT CORNER ORIGINAL STRING
	 (SETQ ANG1 (CDR (ASSOC 50 ED)));RETRIEVE ANGLE OF TEXT
	 (SETQ ANG2 (+ ANG1 (/ pi 2)))  ;SET PERPENDICULAR ANGLE
	 (SETQ PT1B (POLAR PT1A (+ ANG1 pi ) OFFSET));OFFSET FROM TEXT END
	 (SETQ PT1 (POLAR PT1B (+ ANG2 pi) OFFSET)) ;OFFSET FROM BTM OF TEXT
	 (SETQ  PT2  (POLAR  PT1  ANG1 (+ LENGTH (* 2 OFFSET))))
									;CALC LOWER RIGHT CORNER OF BOX
	 (SETQ LENGTH1 (+ (CDR (ASSOC 40 ED)) (* 2 OFFSET)))
									;LENGTH OF BOX PERP TO TEXT
	 (SETQ PT3 (POLAR PT2 ANG2 LENGTH1));CALC UPPER RIGHT CORNER OF BOX
	 (SETQ PT4 (POLAR PT1 ANG2 LENGTH1));CALC UPPER LEFT CORNAR OF BOX
	 (COMMAND "PLINE" PT1 PT2 PT3 PT4 "C");DRAW LINE AROUND TEXT
  ) ;END PROGN
  (PROMPT "\nTHIS IS NOT A TEXT ITEM ! ! ")
  )	;END IF NOT A TEXT ITEM
)	   ;END WHILE MORE ITEMS

  (SETVAR "HIGHLIGHT" 1)
 ;(COMMAND "LAYER" "S" OLDLAY "")
 ;(COMMAND "COLOR" (READ OLDCOLR))
  (COMMAND "LINETYPE" "S" OLDLT "")
  (SETVAR "CMDECHO" 1)
  (PRIN1)
)	   ;BOXTXT

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
bạn dùng lít này nhé lệnh là TB

Chào oizdoi_oi

Bạn nên bổ sung vào Code mã lệnh tắt chế độ bắt điểm đi

(setq oldos (getvar "osmode"))

(setvar "osmode" 0)

......

......

(setvar "osmode" oldos)

 

Nếu bạn không tắt chế độ bắt điểm đi thì với bản vẽ có nhiều đối tượng thì các khung trở nên :bigsmile:

 

TB : Lisp chứ không phải lí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

bạn dùng lít này nhé lệnh là TB

(defun C:TB (/ E1 ED EN PT1 PT2 PT3 PT4 PT1A
				   ANG1 ANG2 ITEMS OFFSET i LENGTH LENGTH1
				   OLDCOLR OLDLAY OLDLT)
(SETVAR "CMDECHO" 0)
(COMMAND "UNDO" "MARK") ;UNDO MARKER
;(SETQ OLDCOLR (GETVAR "CECOLOR"))
;(SETQ OLDLAY (GETVAR "CLAYER"))
;(COMMAND "LAYER" "S" "0" "")
;;(COMMAND "COLOR" "7" "")
(SETQ OLDLT (GETVAR "CELTYPE"))
(COMMAND "LINETYPE" "S" "CONTINUOUS" "")
(PROMPT "\n \nDRAW BASIC DIMENSION TYPE BOX AROUND TEXT ITEMS : ")
(SETQ ITEMS (SSGET)); SELECT ITEMS
(SETQ i (SSLENGTH ITEMS));COUNTER
(WHILE (> i 0) ;WHILE ITEMS ARE LEFT
   (SETQ i (1- i))  ;DECREMENT COUNTER
   (SETQ EN (SSNAME ITEMS i));GET NAME
   (SETQ ED (ENTGET EN))	 ;GET ENTITY INFO
   (IF (= "TEXT" (CDR (ASSOC 0 ED)))
	  (PROGN				 ;IF ENTITY IS TEXT
		 (SETQ E1 ED)		;SAVE A COPY
		 (SETQ OFFSET (/ (CDR (ASSOC 40 ED)) 2))
		 (SETQ ED (SUBST (CONS 72 2) (ASSOC 72 ED) ED));MAKE TEXT RIGHT JUSTIFIED
		 (ENTMOD ED)
		 (SETQ ED (ENTGET EN));UPDATE ENTITY DETAILS
		 (SETQ PT1 (CDR (ASSOC 10 ED))) ;LEFT ENDPOINT OF MODIFIED TEXT
		 (SETQ PT2 (CDR (ASSOC 11 ED))) ;RIGHT ENDPOINT OF MODIFIED TEXT
		 (SETQ LENGTH (DISTANCE PT1 PT2));CALCULATE LENGTH OF STRING
		 (SETQ ED E1)				   ;RESTORE ORIGINAL JUSTIFICATION
		 (ENTMOD ED)
		 (SETQ PT1A (CDR (ASSOC 10 ED))) ;LOWER LEFT CORNER ORIGINAL STRING
		 (SETQ ANG1 (CDR (ASSOC 50 ED)));RETRIEVE ANGLE OF TEXT
		 (SETQ ANG2 (+ ANG1 (/ pi 2)))  ;SET PERPENDICULAR ANGLE
		 (SETQ PT1B (POLAR PT1A (+ ANG1 pi ) OFFSET));OFFSET FROM TEXT END
		 (SETQ PT1 (POLAR PT1B (+ ANG2 pi) OFFSET)) ;OFFSET FROM BTM OF TEXT
		 (SETQ  PT2  (POLAR  PT1  ANG1 (+ LENGTH (* 2 OFFSET))))
										;CALC LOWER RIGHT CORNER OF BOX
		 (SETQ LENGTH1 (+ (CDR (ASSOC 40 ED)) (* 2 OFFSET)))
										;LENGTH OF BOX PERP TO TEXT
		 (SETQ PT3 (POLAR PT2 ANG2 LENGTH1));CALC UPPER RIGHT CORNER OF BOX
		 (SETQ PT4 (POLAR PT1 ANG2 LENGTH1));CALC UPPER LEFT CORNAR OF BOX
		 (COMMAND "PLINE" PT1 PT2 PT3 PT4 "C");DRAW LINE AROUND TEXT
	  ) ;END PROGN
	  (PROMPT "\nTHIS IS NOT A TEXT ITEM ! ! ")
   )	;END IF NOT A TEXT ITEM
)	   ;END WHILE MORE ITEMS

   (SETVAR "HIGHLIGHT" 1)
  ;(COMMAND "LAYER" "S" OLDLAY "")
  ;(COMMAND "COLOR" (READ OLDCOLR))
   (COMMAND "LINETYPE" "S" OLDLT "")
   (SETVAR "CMDECHO" 1)
   (PRIN1)
)	   ;BOXTXT

lisp này dùng như thế nào vậy bạn? bạn có thể chỉ rõ hơn được không? mình cảm ơ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

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  

×