Đến nội dung


Hình ảnh
- - - - -

[nhờ sửa] sửa giúp lsp chia dim


  • Please log in to reply
8 replies to this topic

#1 hantinh

hantinh

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 413 Bài viết
Điểm đánh giá: 44 (tàm tạm)

Đã gửi 28 August 2012 - 01:29 PM

hiện tại con lsp này nó hok chia dim ra thành từng dim nhỏ trong khoảng dim của nó

(defun C:SD (/sel newpt ent edata elist)
(if (and
(setq sel (entsel "\nSelect Demension to Split."))
(setq newpt (getpoint "\Select new Dim Point"))
)
(progn
(setq ent (car sel)
edata (entget ent)
elist (vl-remove-if
'(lambda (pair)
(member
(car pair)
(list -1 2 5 102 310 300 330 331 340 350 350 410)
)
)
edata
)
)
(entmod
(subst (cons 14 newpt)
(assoc 14 elist)
)
)
(entmakex
(subst
(cons 13 newpt)
(assoc 13 elist)
elist
)
)
)
)
(princ "SplitDims")
)
Hình đã gửi
  • 0

#2 duy267

duy267

    biết vẽ point

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

Đã gửi 28 August 2012 - 09:11 PM

hiện tại con lsp này nó hok chia dim ra thành từng dim nhỏ trong khoảng dim của nó[CODE]

Bạn thử lệnh QuickDim.
  • 0

#3 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 28 August 2012 - 09:29 PM

hiện tại con lsp này nó hok chia dim ra thành từng dim nhỏ trong khoảng dim của nó


(defun C:SD (/sel newpt ent edata elist)
(if (and
(setq sel (entsel "\nSelect Demension to Split."))
(setq newpt (getpoint "\Select new Dim Point"))
)
(progn
(setq ent (car sel)
edata (entget ent)
elist (vl-remove-if
'(lambda (pair)
(member
(car pair)
(list -1 2 5 102 310 300 330 331 340 350 350 410)
)
)
edata
)
)
(entmod
(subst (cons 14 newpt)
(assoc 14 elist)
)
)
(entmakex
(subst
(cons 13 newpt)
(assoc 13 elist)
elist
)
)
)
)
(princ "SplitDims")
)

Hề hề hề,
Bạn hãy xem lại dòng code này:
(entmod (subst (cons 14 newpt) (assoc 14 elist) ) )
Theo thiển ý của mình thì hàm (subst .....) bị thiếu đối số bạn ạ.
  • 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 hantinh

hantinh

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 413 Bài viết
Điểm đánh giá: 44 (tàm tạm)

Đã gửi 29 August 2012 - 08:50 AM

Mình đã xem lại đungs là thiếu 1 đôi số nhw bạn thanh bình nói đã sửa lại. Nhưng nó vẫn hok có chịu chạy.
bạn nào hiểu lý do lại sao bảo minh với

(defun C: SD (/sel newpt ent edata elist)
(if (and
(setq sel (entsel "\nSelect Dimension to Split."))
(setq newpt (getpoint "\Select newDim Point"))
)
(progn
(setq ent (car sel)
edat (entget ent)
elist (vl-remove-if
'(lambda (pair)
(member
(car pair)
(list -1 2 5 102 310 300 330 331 340 350 360 410)
)
)
edata
)
)
(entmod
(subst (cons 14 newpt)
(assoc 14 elist)
edata
)
)
(entmakex
(subst
(cons 13 newpt)
(assoc 13 elist)
elist
)
)
)
)
(princ "SplitDims")
)

  • 0

#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 29 August 2012 - 09:10 AM

Chia dim
  • 2

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 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 11 December 2012 - 03:19 PM

Chia dim

code này của bác ket e copy về xài thì ko dc nó bị lỗi .
nó chỉ làm cho đường gióng chân dim nó ngắn hơn chứ nó ko chia đim theo điểm pick như hình minh họa
  • 0

#7 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 December 2012 - 11:07 PM

Trong code đó có 2 lệnh, bạn mới sờ vào cái lệnh đầu - là lệnh làm gọn chân Dim. Hay chính xác hơn là bạn nhầm lệnh ^^ Trên Video đã thể hiện rõ tên lệnh rồi mà
  • 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


#8 quansla

quansla

    biết lệnh xclip

  • Members
  • PipPipPipPipPipPipPip
  • 642 Bài viết
Điểm đánh giá: 224 (khá)

Đã gửi 11 December 2012 - 11:12 PM

Hề hề hề,
Bạn hãy xem lại dòng code này:
(entmod (subst (cons 14 newpt) (assoc 14 elist) ) )

Theo thiển ý của mình thì hàm (subst .....) bị thiếu đối số bạn ạ.

Dòng này đúng là sai cấu trúc thêm vào cuối edata là xon. Chi tiết như thế này
thêm edata (màu đỏ) vào vị trí màu như sau:

(entmod
(subst (cons 14 newpt)
(assoc 14 elist)
edata
)
)
Lisp không có tác dụng với DIM sử dụng tính năng Annotative

Bài viết đã được chỉnh sửa nội dung bởi quansla: 11 December 2012 - 11:13 PM

  • 0

#9 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 12 December 2012 - 11:18 AM

Trong code đó có 2 lệnh, bạn mới sờ vào cái lệnh đầu - là lệnh làm gọn chân Dim. Hay chính xác hơn là bạn nhầm lệnh ^^ Trên Video đã thể hiện rõ tên lệnh rồi mà

Hề hề hề,
Chắc phải đổi tên cái lisp của bác ketxu thành Xenvay.lsp.
Chắc bác xén nhiều lần nên cái váy nó còn ngắn cũn cỡn mất rồi.
Hề hề hề....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.