Chuyển đến nội dung
Diễn đàn CADViet
thiep

Các hàm thư viện trong Express

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

Chào các bạn, Thiep sưu tầm được một số hàm trong thư viện Express. Xin gửi đến các bạn:

* Hàm ACET-SS-DRAG-MOVE dùng để tạo hình ảnh động khi move 1 tập hợp chọn, có cú pháp như sau:

(ACET-SS-DRAG-MOVE ss pt [prompt] [hightlight(cursor)]), trong đó

- ss là tập hợp chọn

- pt là tọa độ điểm thứ 1 (from point)

- [hightlight(cursor)] là các hình thức của cursor khi tập hợp chọn di chuyển, có các tùy chọn 0, 1, 2, không bắt buộc.

Hàm sẽ trả 1 tọa độ điểm thứ 2 (to point), và sử dụng điểm 1 và 2 này trong lệnh ".move".

* Tượng tự như hàm trên, có các hàm sau:

- ACET-SS-DRAG-ROTATE

- ACET-SS-DRAG-SCALE

* Hàm acet-pline-make dùng để tạo 1 "POLYLINE" phẳng có elevation bằng 0, có cú pháp như sau:

(acet-pline-make (list lstpoint)), trong đó:

- lstpoint là list của tọa độ các point.

* ..........còn tiếp......

Nếu anh em nào biết hàm nào khác, hãy chia sẻ với Thiep nhé.

  • Vote tăng 6

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
Chào các bạn, Thiep sưu tầm được một số hàm trong thư viện Express. Xin gửi đến các bạn:

* Hàm ACET-SS-DRAG-MOVE dùng để tạo hình ảnh động khi move 1 tập hợp chọn, có cú pháp như sau:

(ACET-SS-DRAG-MOVE ss pt [prompt] [hightlight(cursor)]), trong đó

- ss là tập hợp chọn

- pt là tọa độ điểm thứ 1 (from point)

- [hightlight(cursor)] là các hình thức của cursor khi tập hợp chọn di chuyển, có các tùy chọn 0, 1, 2, không bắt buộc.

Hàm sẽ trả 1 tọa độ điểm thứ 2 (to point), và sử dụng điểm 1 và 2 này trong lệnh ".move".

* Tượng tự như hàm trên, có các hàm sau:

- ACET-SS-DRAG-ROTATE

- ACET-SS-DRAG-SCALE

* Hàm acet-pline-make dùng để tạo 1 "POLYLINE" phẳng có elevation bằng 0, có cú pháp như sau:

(acet-pline-make (list lstpoint)), trong đó:

- lstpoint là list của tọa độ các point.

* ..........còn tiếp......

Nếu anh em nào biết hàm nào khác, hãy chia sẻ với Thiep nhé.

 

Trang thấy diễn đàn của chúng ta có rất nhiều cao thủ về Lisp. Nhưng cũng giống như tình hình chung hiện nay của chúng ta là tất cả những gì chúng ta có mới chỉ là những viên ngọc thô. Tại sao chúng ta không chuyên nghiệp biến những kiến thức của chúng ta hiện có thành những viên ngọc tinh xảo. Được không? Chắc chắn là được.

 

Mình có 1 ví dụ rất hay gặp thế này.

 

Khi các bạn thiết kế triển khai vệ sinh chẳng hạn. Các bạn chỉ cần thiết kế mặt bằng. Sau đó dùng Lisp để dim kích thước, tạo các mặt đứng, ghi chú v.v...

 

Bạn chỉ thiết kế mặt bằng xong là xong tất cả. Tiết kiệm rất nhiều thời gian. Lisp nên dùng trong các trường hợp này. :s_big:

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

Hàm ACET- gồm có:

"ACET-VAR-SETVAR" 
"ACET-AUTOLOAD" 
"ACET-GEOM-ARC-D-ANGLE" 
"ACET-GEOM-INTERSECTWITH" 
"ACET-ELIST-FILTER-AND-MATCH" 
"ACET-FILE-ATTR" 
"ACET-SYS-TERM" 
"ACET-LIST-REMOVE-ADJACENT-DUPS" 
"ACET-STR-SPACE-TRIM" 
"ACET-UI-GETFILE" 
"ACET-TJUST-GROUP-CODES" 
"ACET-REACTOR-REMOVE" 
"ACET-HATCH-LOOPEDGE-MAKE" 
"ACET-GENERAL-PROPS-GET" 
"ACET-FILE-CWD" 
"ACET-AUTOLOAD2" 
"ACET-STR-WCMATCH" 
"ACET-INI-GET" 
"ACET-CALC-ROUND" 
"ACET-FILE-COPY" 
"ACET-GEOM-OBJECT-POINT-LIST" 
"ACET-UCS-SET-Z" 
"ACET-GEOM-SELF-INTERSECT" 
"ACET-GEOM-ARC-CENTER" 
"ACET-UI-M-GET-NAMES" 
"ACET-UCS-GET" 
"ACET-UI-TABLE-NAME-GET-DLG" 
"ACET-GEOM-ELLIPSE-TO-PLINE" 
"ACET-XREF-CPROJECT-PATH" 
"ACET-INIT" 
"ACET-GO-TO-EXPRESS-PAGE" 
"ACET-VAR-GETVAR" 
"ACET-GEOM-M-TRANS" 
"ACET-FILE-FIND" 
"ACET:PRODKEY" 
"ACET-SETVAR-DWG" 
"ACET-STR-FIND" 
"ACET-INIT-EXPRESS-INSTALLED" 
"ACET-SS-ENTDEL" 
"ACET:READONLY" 
"ACET-GETVAR" 
"ACET-FILENAME-ASSOCIATED-APP" 
"ACET-ACADREACTOR-ID-ADD" 
"ACET-GEOM-VECTOR-D-ANGLE" 
"ACET-SS-FILTER-VALIDATE" 
"ACET-SYS-COMMAND" 
"ACET:VARALL" 
"ACET-SYS-SPAWN" 
"ACET-SYS-LASTERR" 
"ACET-HELP-TRAP" 
"ACET:HELPFILE" 
"ACET-GEOM-SS-EXTENTS-ACCURATE" 
"ACET-GEOM-LIST-EXTENTS" 
"ACET-UI-SINGLE-SELECT" 
"ACET-FILE-DIR" 
"ACET-FILE-FIND-ON-PATH" 
"ACET:OKCANCEL" 
"ACET-FILENAME-SUPPORTPATH-REMOVE" 
"ACET-INIT-ADD-LIB-DIR" 
"ACET:ICONQUESTION" 
"ACET-EDITOR-REACTOR-ADD" 
"ACET-PLINES-EXPLODE" 
"ACETAUTOARXACEDLOAD" 
"ACET-SS-DRAG-SCALE" 
"ACET-GEOM-MATRIX-TRANS" 
"ACET-RTOD" 
"ACET-SS-DRAG-MOVE" 
"ACET-GEOM-VIEW-POINTS" 
"ACET-SS-REMOVE-DUPS-EXTENTS-LIST" 
"ACET-REG-DEL" 
"ACET-SS-REMOVE" 
"ACET:OK" 
"ACET-GEOM-CALC-ARC-ERROR" 
"ACET-INSERT-ATTRIB-MOD" 
"ACET-GEOM-ARC-BULGE" 
"ACET-INSERT-SPACIAL-FILTER" 
"ACET-ANGLE-FORMAT" 
"ACET-UI-POLYGON-SELECT" 
"ACET-SYS-PROCID" 
"ACETAUTONATIVELOAD" 
"ACET-GEOM-ELLIPSE-POINT-LIST" 
"ACET-SS-VISIBLE" 
"ACET-GEOM-POINT-ROTATE" 
"ACET-SS-SCALE-TO-FIT" 
"ACET-GEOM-VECTOR-SIDE" 
"ACET-LIST-ASSOC-PUT" 
"ACET:IDYES" 
"ACET-FILE-FIND-IMAGE" 
"ACET-GEOM-VECTOR-SCALE" 
"ACET-GENERAL-PROPS-SET" 
"ACET-GEOM-CROSS-PRODUCT" 
"ACET-GEOM-VECTOR-PARALLEL" 
"ACET:VARFIX" 
"ACET-GEOM-Z-AXIS" 
"ACET:RETRYCANCEL" 
"ACET-INSERT-ATTRIB-GET" 
"ACET-SS-SCALE-TO-FIT-BASE" 
"ACET-GEOM-VERTEX-LIST" 
"ACET-ERROR-RESTORE" 
"ACET-PLINES-EXPLODE-WIDTH-DATA-GET" 
"ACET-SS-FLT-CSPACE" 
"ACET-ARX-RE-LOAD" 
"ACET:DEFBUTTON4" 
"ACET:DEFBUTTON3" 
"ACET:DEFBUTTON2" 
"ACET:DEFBUTTON1" 
"ACET-GENERAL-PROPS-SET-PAIRS" 
"ACET-GEOM-ARC-POINT-LIST" 
"ACET-LIST-TO-SS" 
"ACET:HIDDEN" 
"ACET-LAYERP-MODE" 
"ACET-FILE-FIND-FONT" 
"ACET-BLOCK-MAKE-ANON" 
"ACET-UI-FENCE-SELECT" 
"ACET-SYS-SHIFT-DOWN" 
"ACET-GEOM-IMAGE-CLIP-LIST" 
"ACET-XDATA-GET" 
"ACET-UI-STATUS" 
"ACET-INIT-ACETUTIL-ARX" 
"ACET-INIT-FAS-LIB" 
"ACET-ADDGBINEXPRESS" 
"ACET-SS-INTERSECTION" 
"ACET-MENU-LOAD" 
"ACET-ACADREACTOR-IDS-GET" 
"ACET-BLOCK-PURGE" 
"ACET-LIST-REMOVE-NTH" 
"ACET-FILENAME-ACAD-ROOT" 
"ACET-GEOM-ELLIPSEANGLE-TO-ANGLE" 
"ACET-SYS-LMOUSE-DOWN" 
"ACET-STR-IS-PRINTABLE" 
"ACET-REG-TREE-GET" 
"ACET-SS-NEW" 
"ACET-FILE-REMOVE" 
"ACET-GEOM-UNIT-VECTOR" 
"ACET-GEOM-LIST-FUZ" 
"ACET-SS-CLEAR-PREV" 
"ACET-GEOM-INSERT-CLIP-LIST" 
"ACET-alert" 
"ACET-SS-SSGET-FILTER" 
"ACET:IDCANCEL" 
"ACET-REG-TREE-SET" 
"ACET-GEOM-EXTENTS" 
"ACET-STR-REPLACE" 
"ACET-SS-UNION" 
"ACET:ARX-LIB" 
"ACET:ARCHIVE" 
"ACET-STR-COLLATE" 
"ACET-DCL-LIST-MAKE" 
"ACET-SS-TO-LIST" 
"ACET-GEOM-ARC-3P-D-ANGLE" 
"ACET-LAYER-LOCKED" 
"ACET-PLINE-SEGMENT-LIST" 
"ACET-GEOM-TRANS-IMAGE-TO-UCS" 
"ACET-FILE-OPEN" 
"ACET-ELIST-FILTER--4-MATCH" 
"ACET-UI-TABLE-NAME-GET-CMD-LIST" 
"ACET-DXF" 
"ACETAI_NOFILE" 
"ACET-PLINES-REBUILD-SET-ELEVATION" 
"ACET-SAFE-COMMAND" 
"ACET:VARDWG" 
"ACET-UI-DRAG" 
"ACET-GEOM-TEXTBOX" 
"ACET-STR-ENV-EXPAND" 
"ACET-UI-TXTED" 
"ACET-LIST-REMOVE-DUPLICATES" 
"ACET-GEOM-ELLIPSE-ARC-LIST" 
"ACET-HOW-TO-GET-EXPRESS" 
"ACET-FILE-SYSTIME-COMPARE" 
"ACET-CALC-BITLIST" 
"ACET-UI-PROGRESS" 
"ACET-RE-MAKE" 
"ACET-TJUST" 
"ACET-R12-DXF-CONVERT" 
"ACET-UI-ENTSEL" 
"ACET-SS-FILTER-ITEM" 
"ACET-STR-LIST-SELECT" 
"ACETAUTOLOAD" 
"ACET-SS-FILTER" 
"ACET-SET-CMDECHO" 
"ACET-GEOM-IS-ARC" 
"ACET-LIST-INSERT-NTH" 
"ACET-GEOM-ELLIPSE-POINT-AT-E-ANGLE" 
"ACET-AUTOLOAD-EXEC" 
"ACET-FILENAME-DIRECTORY" 
"ACET-FILENAME-VALID" 
"ACET-SS-FILTER-CURRENT-UCS" 
"ACET:ICONWARNING" 
"ACET:ABORTRETRYIGNORE" 
"ACET-GEOM-PLINE-ARC-INFO" 
"ACET-GROUP-MAKE-ANON" 
"ACET-FILE-BACKUP" 
"ACET-ENT-GEOMEXTENTS" 
"ACET-FILE-WRITEDIALOG" 
"ACET-INIT-EXPRESS-NOT-INSTALLED-MSG" 
"ACET-GEOM-ANGLE-TRANS" 
"ACET-GETVAR-FIXED-PROFILE" 
"ACET-GEOM-TRANS-UCS-TO-IMAGE" 
"ACET-LIST-IS-DOTTED-PAIR" 
"ACET-CALC-TAN" 
"ACET-SYS-CONTROL-DOWN" 
"ACET-FILE-BACKUP-DELETE" 
"ACET-INI-SET" 
"ACET-SS-SORT" 
"ACET-UI-PROGRESS-INIT" 
"ACET-VBALOAD" 
"ACET-INIT-GET-LIB-DIR" 
"ACET-SS-DRAG-ROTATE" 
"ACET:IDIGNORE" 
"ACET-PREF-SUPPORTPATH-LIST" 
"ACET-UCS-SET" 
"ACET-GEOM-TXTBOX" 
"ACET:IDABORT" 
"ACET-VIEWPORT-NEXT-PICKABLE" 
"ACET-GEOM-ELLIPSE-POINT-AT-ANGLE" 
"ACET:ICONSTOP" 
"ACET-STR-FORMAT" 
"ACET-STR-TO-LIST" 
"ACET-INIT-FORCE-LOAD-ARX-LIB" 
"ACET-ACAD-REFRESH" 
"ACET-XDATA-SET" 
"ACET:VARPRO" 
"ACET-HATCH-LOOP-MAKE" 
"ACET-ENT-CURVEPOINTS" 
"ACET-LAYER-LOCKED-LIST" 
"ACET-AUTOLOAD-APPLY" 
"ACET-GEOM-POINT-FUZ" 
"ACET-GEOM-OBJECT-NORMAL-VECTOR" 
"ACET-CMD-CHECK" 
"ACET-VIEWPORT-VPFREEZE" 
"ACET-VIEWPORT-FROZEN-LAYER-LIST-SET" 
"ACET-WMFIN" 
"ACET-GETVAR-DWG" 
"ACET-SS-ZOOM-EXTENTS" 
"ACET-LIST-ASSOC-APPEND" 
"ACET-FILE-MKDIR" 
"ACET-DICT-MAKE" 
"ACET-GEOM-IMAGE-BOUNDS" 
"ACET-UI-GETCORNER" 
"ACET-LIST-SPLIT" 
"ACET-ARXLOAD-OR-BUST" 
"ACET-INIT-EXCLUDE-LIST" 
"ACET-ELIST-FILTER-GC-MATCH" 
"ACET-REG-PRODKEY" 
"ACET-GEOM-RECT-POINTS" 
"ACET-LAYERP-MARK" 
"ACET-VIEWPORT-LOCK-SET" 
"ACET-SYSVAR-RESTORE" 
"ACET-PSPACE-VIEWPORT-ENAME" 
"ACET-PLINE-MAKE" 
"ACET-GEOM-VECTOR-ADD" 
"ACET-UI-TABLE-NAME-GET" 
"ACET-SETVAR-CPROFILE" 
"ACET:IDHELP" 
"ACETAI_FFILE" 
"ACET-ACADREACTOR-ID-REMOVE-ALL" 
"ACET-HATCH-LOOP-MAKE-DATA-GET" 
"ACET-UNDO-END" 
"ACET:IDRETRY" 
"ACET-GEOM-PLINE-POINT-LIST" 
"ACET-REG-SETACTIVEX" 
"ACET-GEOM-DELTA-VECTOR" 
"ACET-PLINES-REBUILD-APPLY-WIDTHS" 
"ACET-GEOM-SPLINE-POINT-LIST" 
"ACET-SETVAR" 
"ACET-UNDO-INIT" 
"ACET-ACADREACTOR-ID-SWAP" 
"ACET-ELIST-FILTER-NOT-MATCH" 
"ACET:FAS-LIB" 
"ACETAUTOARXLOAD" 
"ACET-ELIST-ADD-DEFAULTS" 
"ACET-GEOM-OBJECT-FUZ" 
"ACET-VIEWPORT-FROZEN-LAYER-LIST" 
"ACET-UI-TABLE-NAME-GET-CMD" 
"ACET-GEOM-POINT-SCALE" 
"ACET-ERROR-INIT" 
"ACET-LIST-ISORT" 
"ACET-UI-TABLE-NAME-GET-ITEM-LIST" 
"ACET-UI-TABLE-NAME-FORMAT" 
"ACET:IDNO" 
"ACET-UCS-RESTORE-VIEWPORTS" 
"ACET-UI-PROGRESS-DONE" 
"ACET-DISABLED-COMMAND" 
"ACET-GEOM-MTXTBOX" 
"ACET-GEOM-MIDPOINT" 
"ACET-FILENAME-DIR-ON-PATH" 
"ACET-UI-PROGRESS-SAFE" 
"ACET-SYS-SLEEP" 
"ACET:IDOK" 
"ACET-UI-TABLE-NAME-GET-ENAME" 
"ACET-STR-LR-TRIM" 
"ACET-GEOM-SS-EXTENTS" 
"ACET-UI-TABLE-NAME-GET-IS-VALID" 
"ACET-GEOM-ANGLE-TO-ELLIPSEANGLE" 
"ACET-CMD-EXIT" 
"ACET-APPID-DELETE" 
"ACET-BS-STRIP" 
"ACET-SS-REMOVE-DUPS-REVERSE" 
"ACET-SYS-BEEP" 
"ACET-TEMP-SEGMENT" 
"ACET-LIST-M-ASSOC" 
"ACET-FILE-CHDIR" 
"ACET-SYS-WAIT" 
"ACET-FILENAME-EXTENSION" 
"ACET-POINT-FLAT" 
"ACET-UI-TABLE-NAME-OBJECT-DATA" 
"ACET-ELIST-FILTER-MATCH" 
"ACET-IS-SYMBOL-TABLE" 
"ACET-STR-ESC-WILDCARDS" 
"ACET-GEOM-ZOOM-FOR-SELECT" 
"ACET-HELP" 
"ACET-LIST-ASSOC-REMOVE" 
"ACET-UI-GET-LONG-NAME" 
"ACET-DICT-NAME-LIST" 
"ACET-SS-ANNOTATION-FILTER" 
"ACET-GEOM-SS-EXTENTS-FAST" 
"ACET-MENU-LOAD2" 
"ACET-SPINNER" 
"ACET-TABLE-PURGE" 
"ACET-FILE-MOVE" 
"ACET-GEOM-ARC-DELTA-ANGLE" 
"ACET-UI-TABLE-NAME-GET-PICKIT" 
"ACET:YESNO" 
"ACET-LAYER-UNLOCK-ALL" 
"ACET-CURRENTVIEWPORT-ENAME" 
"ACET-SS-REMOVE-DUPS-GENERALIZE-ENT" 
"ACET-GEOM-PIXEL-UNIT" 
"ACET-LIST-PUT-NTH" 
"ACET-GEOM-INSERT-POINT-LIST" 
"ACET-GEOM-ARBITRARY-X" 
"ACET-ELIST-FILTER-OR-MATCH" 
"ACET-PARTIAL-MENU-STATUS-GET" 
"ACET-GENERAL-PROPS-GET-PAIRS" 
"ACET:YESNOCANCEL" 
"ACET:ICONINFORMATION" 
"ACET-PLINE-SEGMENT-LIST-APPLY" 
"ACET:SYSTEM" 
"ACET-UI-MESSAGE" 
"ACET-EXPLODE" 
"ACET-ACADREACTOR-ID-REMOVE" 
"ACET-LIST-GROUP-BY-ASSOC" 
"ACET-UCS-CAPTURE-VIEWPORTS" 
"ACET-GETVAR-CPROFILE" 
"ACET-DICT-FILTER-MATCH" 
"ACET-TJUST-KEYWORD" 
"ACET-STR-M-FIND" 
"ACET-STR-EQUAL" 
"ACET-SS-REDRAW" 
"ACET-FILENAME-PATH-REMOVE" 
"ACET-FILE-RMDIR" 
"ACET:WEBSITE" 
"ACET-BLINK-AND-SHOW-OBJECT" 
"ACET-FILE-READDIALOG" 
"ACET-PARTIAL-MENU-STATUS-SET" 
"ACET-LWPLINE-MAKE" 
"ACET-SS-CONVERT-ELLIPSES-TO-PLINES" 
"ACET-SYS-FOREGROUND" 
"ACET-PATH-TO-LIST" 
"ACET-SYS-KEYSTATE" 
"ACET-FILE-BACKUP-RESTORE" 
"ACET-SYSVAR-SET" 
"ACET-LSP-LOAD" 
"ACET-SETVAR-FIXED-PROFILE" 
"ACET-UCS-TO-OBJECT" 
"ACET-DICT-ENAME" 
"ACET-ANGLE-EQUAL" 
"ACET-PLINE-IS-2D" 
"ACET-UI-PICKDIR" 
"ACET:DIRECTORY" 
"ACET-PLINES-REBUILD" 
"ACET:IDCLOSE" 
"ACET-DTOR" 
"ACET-UNDO-RESTORE" 
"ACET-INIT-PRODKEY" 
"ACET:ACETAUTO" 
"ACET-REACTOR-EXISTS" 
"ACET-UNDO-BEGIN" 
"ACET-SS-REMOVE-DUPS" 
"ACET-REG-PUT" 
"ACET-GEOM-OBJECT-Z-AXIS" 
"ACET-TABLE-NAME-LIST" 
"ACET-ALT-VIEWPORT" 
"ACET-UCS-CMD" 
"ACET-UI-TABLE-NAME-CHECK-FLAGS" 
"ACET-ERROR" 
"ACET-INSERT-ATTRIB-SET" 
"ACET-INIT-PLACEMENU" 
"ACET-FILENAME-EXT-REMOVE" 
"ACET-REG-GET" 
"ACET-GEOM-POINT-INSIDE" 
"ACET-FULL-DWGNAME" 
"ACET-UTIL-VER" 
"ACET-GEOM-OBJECT-END-POINTS"

Đây là một trong số những hàm mà được định nghĩa trong file .arx của Cad. Nó thường dùng làm hàm con trong các lisp Express. Bạn có thể tìm hiểu thêm một số hàm con nữa bằng cách dùng đoạn Code sau:

(foreach in (atoms-family 1 )
(print in )()
)

hoặc đánh lệnh ARX với lựa chọn "C"

  • Vote tăng 4

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
Chào các bạn, Thiep sưu tầm được một số hàm trong thư viện Express. Xin gửi đến các bạn:

......

* ..........còn tiếp......

Nếu anh em nào biết hàm nào khác, hãy chia sẻ với Thiep nhé.

Còn đây:

* (acet-ent-geomextents ename): Hàm trả về 1 list có 2 tọa độ ll và ur (bên trái dưới và bên phải trên) của 1 đối tượng có tên ename, giống như hàm (vla-GetBoundingBox obj 'MinPoint 'MaxPoint) nhưng dễ sử dụng hơn vì listpoint của acet-ent-geomextents không nằm trong safearray.

* (acet-geom-list-extents lst): Hàm trả về 1 list có 2 phần tử đầu và cuối trong list lst

* (acet-layer-locked lay): Hàm kiểm tra layer "lay" có bị khóa hay không. Nếu có bị khóa, hàm trả về tên của layer này.

......còn tiếp......

  • Vote tăng 4

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
Còn đây:

* (acet-ent-geomextents ename): Hàm trả về 1 list có 2 tọa độ ll và ur (bên trái dưới và bên phải trên) của 1 đối tượng có tên ename, giống như hàm (vla-GetBoundingBox obj 'MinPoint 'MaxPoint) nhưng dễ sử dụng hơn vì listpoint của acet-ent-geomextents không nằm trong safearray.

* (acet-geom-list-extents lst): Hàm trả về 1 list có 2 phần tử đầu và cuối trong list lst

* (acet-layer-locked lay): Hàm kiểm tra layer "lay" có bị khóa hay không. Nếu có bị khóa, hàm trả về tên của layer này.

......còn tiếp......

Đây cũng là một nơi để tham khảo các hàm trong acetutil.arx

http://www.afralisp.net/lisp/acet-utils.htm

  • 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
Hàm ACET- gồm có:

"ACET-VAR-SETVAR" 
"ACET-AUTOLOAD" 
...............................................
"ACET-GEOM-OBJECT-END-POINTS"

Đây là một trong số những hàm mà được định nghĩa trong file .arx của Cad. Nó thường dùng làm hàm con trong các lisp Express. Bạn có thể tìm hiểu thêm một số hàm con nữa bằng cách dùng đoạn Code sau:

(foreach in (atoms-family 1 )
(print in )()
)

hoặc đánh lệnh ARX với lựa chọn "C"

Ôi cha! Nhiều quá xá.

Nhờ nataca mà mình mới biết kiến thức mình chỉ là 1 hạt cát trên sa mạc. Nhưng mà để mày mò tìm hiểu hết các hàm thư viện trên, chắc tới già! Hề Hề

Nataca có biết ý nghĩa hàm nào chia sẻ cho anh em với.

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
Trang thấy diễn đàn của chúng ta có rất nhiều cao thủ về Lisp. Nhưng cũng giống như tình hình chung hiện nay của chúng ta là tất cả những gì chúng ta có mới chỉ là những viên ngọc thô. Tại sao chúng ta không chuyên nghiệp biến những kiến thức của chúng ta hiện có thành những viên ngọc tinh xảo. Được không? Chắc chắn là được.

 

Mình có 1 ví dụ rất hay gặp thế này.

 

Khi các bạn thiết kế triển khai vệ sinh chẳng hạn. Các bạn chỉ cần thiết kế mặt bằng. Sau đó dùng Lisp để dim kích thước, tạo các mặt đứng, ghi chú v.v...

 

Bạn chỉ thiết kế mặt bằng xong là xong tất cả. Tiết kiệm rất nhiều thời gian. Lisp nên dùng trong các trường hợp này. :cheers:

Ý tưởng của bạn Trang rất hay, mình nghĩ nên viết cái lisp mở rộng hơn chút nữa là có mặt bằng rồi thì nó cho ra mặt cắt, ghi chú, kích thước, ngoài ra thì cho ra thêm luôn cả kết cấu, điện, nước, thuyết minh tính toán, phụ lục, dự toán là hay nhất. Như thế ko những tiết kiệm được ối thời gian mà còn tiết kiệm được cả tiền chi phí cho các bộ môn khác, đồng thời tiết kiệm được con người (chỉ cần kts) và kéo theo là tiết kiệm được không gian làm việc, đỡ tốn tiền thuê văn phò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
Ý tưởng của bạn Trang rất hay, mình nghĩ nên viết cái lisp mở rộng hơn chút nữa là có mặt bằng rồi thì nó cho ra mặt cắt, ghi chú, kích thước, ngoài ra thì cho ra thêm luôn cả kết cấu, điện, nước, thuyết minh tính toán, phụ lục, dự toán là hay nhất. Như thế ko những tiết kiệm được ối thời gian mà còn tiết kiệm được cả tiền chi phí cho các bộ môn khác, đồng thời tiết kiệm được con người (chỉ cần kts) và kéo theo là tiết kiệm được không gian làm việc, đỡ tốn tiền thuê văn phòng.

Bạn thấy hay như thế. vậy bạn làm bắt tay vào làm đi.

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
Chào các bạn, Thiep sưu tầm được một số hàm trong thư viện Express. Xin gửi đến các bạn:

* ..........còn tiếp......

Nếu anh em nào biết hàm nào khác, hãy chia sẻ với Thiep nhé.

Tiếp tục nhé:

* (acet-explode ss)

Hàm làm nổ các đối tượng trong tập hợp chọn ss

* (acet-ss-endel ss)

Hàm xóa các đối tượng trong tập hợp chọn ss

* (acet-ss-zoom-extents ss)

Hàm zoom-extents tập hợp chọn ss và trả về listpoint của 2 điểm LL và UR của tập hợp chọn ss

* (acet-list-to-ss (list en))

Hàm trả về tên tập hợp chọn của list ename

* (acet-geom-midpoint p1 p2)

Hàm trả về tọa độ điểm giữa của 2 điểm p1 p2

* (acet-geom-vertex-list en)

Hàm trả về listpoint tọa độ các nút của LWPOLYLINE, POLYLINE. Nếu LWPOLYLINE, POLYLINE kín listpoint sẽ có thêm 1 điểm đầu ở cuối listpoint

Nếu ename là tên của đối tượng SPLINE, hàm trả về listpoint của các controlpoint

* (acet-geom-intersestwith en1 en2 flag)

Hàm trả về listpoint tọa độ các điểm giao của 2 đối tượng en1 en2.

flag là số interger, cờ quy định các kiểu giao:

- 0: không mở rộng 2 đối tượng en1 en2

- 1: mở rộng đối tượng en1, không mở rộng đối tượng en2.

- 2: không mở rộng đối tượng en1, mở rộng đối tượng en2.

- 3: mở rộng 2 đối tượng en1 en2

 

* ..........còn tiếp......

  • Vote tăng 3

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

Giới thiệu với mọi người thêm 3 hàm rất hay của express

ACET-SYS-CONTROL-DOWN

ACET-SYS-SHIFT-DOWN

ACET-SYS-LMOUSE-DOWN

3 hàm này cực kỳ hữu ích khi muốn lập trình rẽ nhánh chương trình

cả 3 hàm có chức năng tương đối giống nhau. Đây là các hàm kiểm tra thông tin, không tham số và sẽ trả về T khi tại thời điểm hàm thực thi các phím Ctrl, Shift, Left mouse được giữ.

  • 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

@Thiep : Đang nóng lòng chờ bác cập nhật tiếp đây này ^^

Cái hàm (acet-geom-intersectwith en1 en2 flag) thay được cho đoạn lisp GiaoDT của bác Hoành đấy mọi người 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

Lang thang nhặt được cái này.

 

(defun acet-error-init ( errlist /                    ;;Error Init for ET
(defun acet-error-restore ( /                         ;;Error Restore for ET
(defun acet-sysvar-set ( varlist /                    ;;Save Sysvar List
(defun acet-sysvar-restore ( /                        ;;Restore Sysvar List
(defun acet-spinner ( /                               ;;Show Spinner Sign
(defun acet-table-name-list ( tblORlist /             ;;Get Table Entries
(defun acet-table-purge ( table entry flag /          ;;Purge table entry
(defun acet::store2reg ( varname varval /             ;;Store custom data 2 Registry
(defun acet::loadreg ( varname /                      ;;Load custom from Registry
(defun acet::store2dict ( varname varval /            ;;Store custom data 2 Dict
(defun acet::loaddict ( varname /                     ;;Load custom from Dict
(defun acet-set-CmdEcho ( val                         ;;Setvar CmdEcho
(defun acet-setvar ( varlist /                        ;;Setvar Custom Var
(defun acet-group-make-anon ( enamelist desc /        ;;Create Anonymous Group
(defun acet-ucs-to-object ( ent /                     ;;Setvar UCS to Ent
(defun acet-ucs-set-z ( zvec /                        ;;Setvar UCS to Ent
(defun acet-ucs-get ( from /                          ;;get current/entity ucs 
(defun acet-ucs-set ( ucs / 
(defun acet-ucs-cmd ( cmdlist /                       ;;execute ucs command
(defun acet-xdata-set ( xkeylist /                    ;;Set XData Values for keys
(defun acet-xdata-get ( xkeylist /                    ;;Get XData Value for key
(defun bns_ss_mod ( ss flag pr /                      ;;Get XData Value for key
(defun acet-layer-locked ( layer /                    ;;Check Layer Locked ?
(defun acet-layer-unlock-all ( /                      ;;Unlock all layers
(defun acet-plines-rebuild ( plist /                  ;;rebuild polylines
(defun acet-pline-segment-list-apply ( na lst /       ;;re-apply pline segment width
(defun acet::apply_width_bulge ( na swlst ewlst blglst / 
(defun acet-plines-explode ( ss /                     ;;explode polylines
(defun acet-pline-segment-list ( elist /              ;get pline segment data
(defun acet::plines-get-widthlist ( ename etype elist / 
(defun acet::pline-explode ( ename / 
(defun acet-ss-ssget-filter ( ss flt /                ;;filter selection set
(defun acet-ss-new ( ename /                          ;;Create new SelectionSet with Ent
(defun acet-ss-clear-prev ( /                         ;;Clear previous SelectionSet
(defun acet-ss-visible ( entset flag /                ;;Make Entities Visible(0)-Invisible(1)
(defun acet-ss-intersection ( ss ssmaster /           ;;SelectionSet Intersection
(defun acet-ss-filter ( filterdata /                  ;;Filter Selection Set
(defun acet-ss-flt-cspace ( /                         ;;Build filter part for current space
(defun acet-ss-remove ( ss ssmaster /                 ;;Remove Ents from SelectionSet
(defun acet-ss-union ( sslist /                       ;;Combine SelectionSets together
(defun acet-ss-redraw ( ss mode /                     ;;Redraw SelectionSet with Mode
(defun acet-list-m-assoc ( key datalist /             ;;Redraw SelectionSet with Mode
(defun acet-ss-entdel ( ss /                          ;;Entdel ss entities
(defun acet-ss-filter-current-ucs ( ss printit /      ;;filter entities on current ucs
(defun acet-ss-annotation-filter ( ss / 
(defun bns_annotation_ss ( ss /                       ;;Get Attributes into ss, remove inserts
(defun acet-ss-to-list ( ss /                         ;;Convert selection-set to entities list
(defun acet-list-to-ss ( lst /                        ;;Convert entities list to selection-set
(defun acet-ss-zoom-extents ( ss /                    ;####### Punkte p1/p2 von entry ohne Z-Wert !!!
(defun acet-ss-remove-dups ( ss fuz ignore /          ;;Remove duplicate entities
(defun acet::check-identic-points ( plist1 plist2 fuz / 
(defun acet-tjust-keyword ( elist /                   ;;get text justification
(defun acet-tjust ( ss tjust /                        ;;(acet-tjust (ssadd na (ssadd)) "Start") ;
; then set it to start
(defun acet-insert-attrib-set ( na attlst flag /  
(defun acet-currentviewport-ename ( /                 ;get current vport entity
(defun acet-viewport-lock-set ( vpename setlocked /   ;set vport locked/unlocked
(defun acet-alert ( msg / 
(defun acet-fscreen-toggle ( / 
(defun acet-init-fas-lib ( flag1 flag2 / 
(defun acet-block-make-anon ( ss blkname /            ;;Create anonymous block from ss
(defun acet-block-purge ( bna /                       ;;Purge Block with given name
(defun getgeomextents ( en / 
(defun acet-geom-z-axis ( / 
(defun acet-point-flat ( pt from to /                 ;;flat point
(defun acet-geom-midpoint ( p1 p2 /                   ;;Calculate Midpoint for P1,P2
(defun acet-geom-m-trans ( pntlst from to /           ;;Transform Pointlist
(defun acet-geom-list-extents ( pntlst /              ;;Transform Pointlist
(defun acet-geom-zoom-for-select ( pntlist /          ;;Get Zoom Points to Include Points
(defun acet-geom-view-points ( /                      ;;Get Viewport Corner Points
(defun acet-geom-pixel-unit ( / 
(defun acet-geom-textbox ( txtdata offset /           ;;Get Textbox for any Text
(defun acet-geom-rect-points ( pa pb /                ;;Get 5 Rectangle Points
(defun acet-geom-self-intersect ( pointlist flag /    ;;Point Check Self-Intersection
(defun acet-geom-object-end-points ( ename /          ;;get object end points
(defun acet-geom-object-point-list ( na alt /         ;;Get Object Points Rasterized    
;; altitude may be NIL !
(defun acet::[b]Pl-point-list[/b] ( na alt /                 ;;Get Polyline/LwPolyline Points
(defun acet::arc-point-list ( p1 p2 p3 ang alt /      ;;Get Arcus Points
(defun acet::delta-ang ( r a /                        ;;Get Arcus Infos  
;returns the delta angle of an arc with the specified altitude and radius
(defun acet-geom-image-bounds ( na /                  ;;Get Image Bounds
(defun acet-geom-point-rotate ( pnt p1 ang /          ;;Rotate Point ;Rotate 'pnt' from a 
;base point of 'p1' and through an angle of 'ang' (in radians)
(defun acet-geom-vertex-list ( na /                   ;;Get (LW)Polyline Vertexes
(defun acet-geom-delta-vector ( p1 p2 /               ;;Get Difference Vector
(defun acet-geom-vector-scale ( vec scale /           ;;Get Difference Vector
(defun acet-geom-vector-add ( vec add /               ;;Add 2 Vectors
(defun acet-geom-cross-product ( v1 v2 /              ;;Get Vector Cross Product (Normal Vector)
(defun acet-geom-unit-vector ( p1 p2 /                ;;Get Vector Normalized
(defun acet-geom-angle-trans ( ang from to /          ;;Transform Angle between Coordsys
(defun acet-geom-pline-arc-info ( p1 p2 bulge /       ;;Get Arcus Infos
(defun acet-geom-point-inside ( pt ptlist dist /      ;;Check Point inside Band along Ptlist
(defun acet-geom-vector-side ( pt pa pb /             ;;Get Side of Point rel. to Vector
(defun acet-geom-intersectwith ( ent1 ent2 flag /     ;;Get Intersection Points
(defun acet::measure-points ( object dist /           ;;Get Object points by Measure
(defun acet-geom-object-normal-vector ( ename /       ;;Get Entity's Z normal vector
(defun acet-geom-point-scale ( targetpnt frompnt scale / 
(defun acet-geom-vector-parallel ( v1 v2 /            ;;Check for parallel vectors
(defun acet-geom-arc-center ( pa pb pc /              ;;Get Arc center from 3 points
(defun acet-geom-object-z-axis ( ename /              ;;Get Entity Z-Axis
(defun acet-geom-vector-d-angle ( v1 v2 /             ;;Get angle between 2 vectors
(defun acet::acos ( inval / 
(defun acet-geom-object-fuz ( na /                    ;;Get object fuzz
(defun acet-ui-entsel ( sellst /                      ;;Entity Selection
(defun acet-ui-single-select ( filter flag /          ;;Single Entity Select
(defun acet-ui-fence-select ( /                       ;;Fence Selectino points
(defun acet-ui-polygon-select ( mode /                ;;Window/Crossing Polygon
(defun bns_truncate_2_view ( a b x y x2 y2 /          ;;Truncate point list
(defun bns_groups_unsel ( /                           ;;Set All Groups to Unselect
(defun bns_groups_sel ( grpenames /                   ;;Set Groups back to Select
(defun acet-blink-and-show-object ( lst /             ;;Draw a temporary polyline & let it blink
(defun bns_blink_and_show_object ( na color /         ;;Draw a temporary polyline & let it blink
(defun bns_blktbl_match ( flt /                       ;;Search all entities inside block table
(defun bns_blk_match ( blkname flt lst flag /         ;;Search all entities inside specified blocks
(defun bns_tbl_match ( tblname flt /                  ;;Search all entities inside specified blocks
(defun bns_filter_match ( e1 flt / 
(defun bns_-4_match ( a e1 flt / 
(defun bns_or_match ( e1 flt / 
(defun bns_and_match ( e1 flt / 
(defun bns_not_match ( e1 flt / lst a flag )
(defun bns_gc_match ( e1 dp opr / dp2 a b c d flag )
(defun acet-dcl-list-make ( dcltile vallist /         ;;Display List Values
(defun acet-list-put-nth ( newval datalist atidx / 
(defun acet-list-remove-nth ( atidx datalist /        ;;Remove Entry at Index
(defun acet-list-assoc-remove ( key datalist /        ;;Remove all Entries by Key
(defun acet-list-remove-adjacent-dups ( datalist /    ;;Remove Duplicates from List
(defun acet-list-remove-duplicate-points ( lst fuz /  ;;Remove duplicate points from List
(defun acet-list-group-by-assoc ( lst /               ;; group data by assoc key
(defun acet-elist-add-defaults ( elist /              ;;add defaults to elist
(defun acet-str-lr-trim ( s str /                     ;;Trim Left / Right Characters
(defun acet-str-space-trim ( str /                    ;;Trim Left / Right Spaces
(defun acet-str-esc-wildcards ( str /                 ;;place escape for wildcard strings
(defun acet-str-to-list ( deli line /                 ;;Split String into List
(defun acet-str-m-find ( find str /                   ;;Find multiple Substrings
(defun acet-str-equal ( str1 str2 /                   ;;Compare Strings Insensitive
(defun acet-bs-strip ( str /                          ;;Remove backslash controls
(defun acet-filename-ext-remove ( file /              ;;Remove Extension from File
(defun acet-filename-path-remove ( file /             ;;Get Filename Without Path
(defun acet-filename-extension ( file /               ;;Get Extension from Filename
(defun acet-filename-directory ( file /               ;;Get Directory from Filename
(defun acet-filename-valid ( file /                   ;;Check for Proper Filename
(defun acet-filename-supportpath-remove ( file /      ;;Remove Path, if file is inside Supportpathes
(defun acet-file-find ( file /                        ;;Extended FindFile
(defun acet-file-find-font ( fontfile /               ;;Extended FindFile (Fonts)
(defun acet-file-find-image ( imgfile /               ;;Extended FindFile (Fonts)
(defun acet-file-backup ( file /                      ;;Create Backup file
(defun acet-file-backup-delete ( /                    ;;Delete All Backup files
(defun acet-filename-associated-app ( filename /      ;;Get Application for file
(defun get-defparts ( cmd / cmdname cmdpar idx slen )
(defun acet-arxload-or-bust ( filename / 
(defun acet-autoload ( loadlist /                     ;;Test & Load function & file
(defun acet-autoload2 ( loadlist / 
(defun acet-autoloadarx ( loadlist / 
(defun acet-viewport-next-pickable ( /                ;;Get Next Pickable VP
(defun acet-viewport-frozen-layer-list ( ename /      ;;Get Next Pickable VP
(defun acet-calc-bitlist ( n /                        ;;Calculate Bit Values
(defun acet-calc-round ( rval rround /                ;;Round Value
(defun acet-calc-tan ( a /                            ;; Calculate Tangens
(defun acet-lwpline-make ( lst /                      ;;Create LW Polyline
(defun acet-temp-segment ( p1 p2 p3 mode /            ;;Draw tempory Segment
(defun acet-wmfin ( wmffile /                         ;;WMF IN
(defun acet-dxf ( key keylist /                       ;;Get dxf value from assoc list
(defun acet-angle-format ( ang /                      ;;format angle 0...2*PI
(defun acet-angle-equal ( a b fuz /                   ;;Compare Angles with Tolerance
(defun acet-dtor ( a /                                ;;Compare Degree <> Radians
(defun acet-rtod ( a /                                
(defun acet-dict-ename ( dictname dictentry /         ;;Get Dictionary entry
(defun acet-dict-name-list ( dictname /               ;;Get Dictionary entries
(defun acet-explode ( na /                            ;;Explode SS and return exploded entities
(defun acet-list-assoc-put ( new lst /                ;;Add / Update entry to list
(defun acet-list-assoc-append ( new lst /             ;;Append entry to list
(defun acet-pline-is-2d ( elist /                     ;;Check (LW)Polyline for 2D
(defun acet-ui-getcorner ( p1 /                       ;;Get other corner with selection rubberband
(defun acet-undo-begin ( /                            ;;undo begin
(defun acet-undo-end ( /                              ;;undo end
(defun acet-cmd-exit ( /                              ;;undo command exit
(defun acet-safe-command ( bStart bAutoEnd cmdList /  ;;execute commands in safe mode
(defun acet-pref-supportpath-list ( /                 ;;Get Support Pathes as list
(defun acet-list-isort ( plst index /                 ;;Indexed Sort
(defun acet-acad-refresh ( / 
(defun acet-geom-ss-extents ( ss shrink /             ;;Get extents of selection set
(defun acet-file-find-on-path ( fna path /            ;;Find file on OS env "PATH"
(defun acet-list-is-dotted-pair ( a /                 ;;check for dotted pair
(defun acet-file-open ( fna flag /                    ;;file open
(defun acet-list-remove-duplicates ( lst fuz /        ;;remove duplicates from list
(defun acet-list-split ( lst item /                   ;;Split List at entry
(defun acet-appid-delete ( appid /                    ;;Remove APPID
(defun acet-ui-progress-init ( title maxstep /        ;;init progress bar
(defun acet-ui-progress-safe ( pos /                  ;;set progress pos
(defun acet-ui-progress-done ( /                      ;;done progress
(defun acet-ui-get-long-name ( msg /                  ;;get long keyboard input
(defun acet::getltexmsg ( msgkey defmsg / 
(defun acet::expandfn ( fname fcheck /                ;;Expand & Find Filename
(defun acet::filetype ( filename /                    ;;Get File Type Only
(defun acet::pos-filetype ( filename /                ;;Get Position of Extension
(defun acet::nameonly ( filename /                    ;;Get File Without Path
(defun acet::pathonly ( filename /                    ;;Get Directory only[/font]

  • Vote tăng 5

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
@Thiep : Đang nóng lòng chờ bác cập nhật tiếp đây này ^^

Cái hàm (acet-geom-intersectwith en1 en2 flag) thay được cho đoạn lisp GiaoDT của bác Hoành đấy mọi người nhỉ ?!

Bác Thiệp đi vắng rồi, để mình tiếp vậy

(acet-geom-intersectwith EN1 EN2 flag)

Trả về list giao điểm của 2 đối tượng curve. Tham số flag có giá trị từ 0-3

flag = 0 : Chỉ lấy giá trị các điểm giao thực giữa 2 curve

flag = 1 : lấy giá trị các điểm giao thực và các điểm giao ảo nếu có khi extend EN1 đến EN2

flag = 2 : lấy giá trị các giao điểm thực và các giao điểm ảo nếu có khi extend EN2 đến EN1

flag = 3 : lấy tất cả các giao điểm thực và ảo nếu có khi extend cả 2 đối tượng EN1 và EN2 với nhau

Thứ tự giao điểm sắp xếp lần lượt theo chiều của EN1

 

(ACET-UI-ENTSEL (list "string" [flags initget] [initget keywork] [T or nil] 'filter [T or nil])

Hàm chọn đối tượng kèm theo điều kiện rẽ nhánh trước khi chọn. Trả về tập hợp ename các đối tượng đc chọn, hoặc kết quả rẽ nhánh khi nhập vào 1 ký tự từ bàn phím. list tham số gồm:

- "string" : thông báo điều kiện rẽ nhánh

- flags initget: bit code

- initget key work: kết quả trả về tương tứng với các ký tự đc nhập

- T or nil 1: điều kiện cho phép chọn chỉ 1 hay nhiều đối tượng.

- 'filter: điều kiện lọc

- T or nil 2: điều kiện cho phép chọn đối tượng thuộc layer bị khóa hay không

 

(ACET-UI-SINGLE-SELECT '(filter) lockOk)

Hàm này áp dụng các chế độ lọc Filter giống như (ssget) để chọn 1 đối tượng duy nhất và trả về ename của nó. Nếu tại vị trí pick chuột không tìm thấy đối tượng nào thì hàm tự chuyển sang trạng thái multiple select giống như (ssget) nhưng sẽ chỉ trả về ename của đối tượng đầu tiên thỏa mãn điều kiện lọc được tìm thấy. Hàm chỉ kết thúc khi chọn được đối tượng thỏa mãn hoặc nhấn space

VD: (acet-ui-single-select '((0 . "TEXT")) nil)

lockOk = T : cho phép chọn đối tượng thuộc layer bị khóa, lockOK = nil: ngược lại

 

(ACET-UI-TXTED "nội dung tạm" "title")

hiện cửa sổ soạn thảo giống lệnh RText với tille tùy người dùng. trả về nội dung soạn thảo

 

(AcetRText:modify ename [T or nil])

Edit Rtext

 

(ACET-STR-FIND string1 string)

kiểm tra xem chuỗi string có chứa chuỗi string1 không, nếu có hàm trả về vị trí đầu tiên tìm thấy của trong chuỗi string.

(ACET-STR-M-FIND string1 string)

Tương tự ACET-STR-FIND, nhưng kết quả trả về tất cả các vị trí được tìm thấy của string1

 

(ACET-STR-REPLACE "A" "B" "C")

Tìm và thay thế 1 các chuỗi giống "B" nhau trong một chuỗi "C" bởi 1 chuỗi khác "A"

 

(ACET-SS-CONVERT-ELLIPSES-TO-PLINES ss)

Convert đối tượng tất cả các đối tượng elipe nếu có của 1 tập hợp chọn thành pline. tham số là tập hợp chọn ssget. trả về tên tập hợp chọn selection set

 

(ACET-SS-CLEAR-PREV)

Xóa tập hợp chọn Previous ra khỏi bộ nhớ tại thời điểm hàm thực thi. Không tham số, luôn trả về nil

  • Vote tăng 3

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

Tiếp nhé:

(ACET-GROUP-MAKE-ANON

"Description")

Tạo group không tên. (với chú thích Description do người dùng đưa vào)

 

(ACET-GEOM-PIXEL-UNIT)

Không tham số, Trả về tỷ lệ giữa chiều dài tính theo đơn vị bản vẽ và 1 pixel độ phân giải màn hình.

 

(ACET-GEOM-OBJECT-POINT-LIST ename [-1,0,1])

Trả về list tọa độ các đỉnh của curve. tham số [-1; 0; 1] chỉ có ý nghĩa với các đường cong. nếu tham số này = -1, hàm sẽ chia đường cong thành các đoạn nhỏ và lấy ra tọa độ các đỉnh chia đó.

 

(ACET-GEOM-OBJECT-END-POINTS ename)

Trả về tọa độ các điểm cuối của *Line,Cicle, Elip...

 

(ACET-GEOM-MTXTBOX [nmbr offset] [entget..])

Trả về tọa độ 4 điểm của Mtextbox có xét đến hệ số offset

 

(ACET-FILENAME-ACAD-ROOT)

Không tham số. trả về đường dẫn thư mục cài đặt của cad hiện hành

 

(ACET-FILE-REMOVE "filename")

Xóa 1 file, tham số là đường dẫn đầy đủ (gồm cả phần mở rộng) của file cần xóa

(ACET-EXPLODE ename)

Phá khối đối tượng phức (block, pline...) và trả về tập hợp chọn của các đối tượng tạo ra sau khi phá khối.

(acet-currentviewport-ename)

không tham số. trả về ename của viewport hiện hành

 

Các bạn có thể nghiên cứu bổ xung thêm các hàm thư viện acet bằng cách nghiên cứu bộ express tool của cad. tốt nhất là dùng vlide tạo 1 project chứa toàn bộ các lisp trong bộ express tool để dễ dàng tra cứu.

  • Vote tăng 6

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

Cám ơn các bạn, mục này rất hay. Mình nghĩ nên đặt tiêu đề là "Cẩm nang sử dụng hàm Lisp" để mở rộng phạm vi của nó. Bạn nào biết những hàm hay mà mình tâm đắc có thể liệt kê lên đây để giới thiệu và chia sẻ. Nơi đây các bạn cũng có thể đặt câu hỏi để tìm những hàm mà mình cần. Cách trình bày ở đây nên cô đọng và ngắn gọn theo nghĩa của cẩm nang. Còn đi sâu vào lập trình có thể vào các mục khác như "Hướng dẫn sử dụng mã Lisp" ...

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

Lang thang tìm được bài này. quá hay. 

Em đã áp dụng được cái progress bar này quá ưng luôn. Cảm ơn các bác đã chia sẻ

Lệnh: (acet-ui-progress label?<string> max?<integer>)

giphy.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
5 phút trước, cuongtk2 đã nói:

Cái đó có đại diện cho thời gian hoàn thành lệnh đâu. Nó ám chỉ autocad đang bận, bạn không nên ấn ESC.

Dạ vâng. Nhưng nhiều lệnh của em chạy khá lâu.

Như lệnh Kiểm hatch trùng lặp này. Nhiều lúc tưởng máy đơ. Bấm esc thế là bản vẽ nhì nhằng toàn region mới được tạo ra. Rất khó chiu. Đây cũng là 1 phương án rất tốt .

Còn thời gian hoàn thành lệnh thì dự đoán theo dạng (* n (/ (- timex time1) x)).

rồi thay cái label là được mà 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

Trong lisp không có chức năng hiện hộp thoại liên bản vẽ (modeless window), dạng như palette. Mình chỉ cần đặt thông báo lên đó ở lúc chạy và đóng ở cuối lệ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

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

×