Welcome,
Guest
. Please
login
or
register
.
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
News:
Home
Help
Login
Register
TheSwamp
»
Code Red
»
AutoLISP (Vanilla / Visual)
»
XDRX-API
»
Topic:
[XDrX-PlugIn(36)] Hole (circle) statistical details table
« previous
next »
Print
Pages: [
1
] |
Go Down
Author
Topic: [XDrX-PlugIn(36)] Hole (circle) statistical details table (Read 707 times)
0 Members and 1 Guest are viewing this topic.
xdcad
Swamp Rat
Posts: 527
WWW
[XDrX-PlugIn(36)] Hole (circle) statistical details table
«
on:
December 04, 2023, 08:25:34 AM »
Code - Auto/Visual Lisp:
[Select]
;|
Plug-in name: Circle statistics table
Author: XDSoft
Running environment: XDRX API / XD Toolbox
Release time: 2016-10-15
Plug-in introduction: Count circles and group numbers to generate tables
Command name: XDTB_TJCir
|;
(
defun
c:XDTB_TJCir
(
/
#height class1 class2 ents lst
pt ss str1 str2 tlst2 val x
y
)
(
defun
_maketable
(
lst
)
(
if
(
setq
pt
(
getpoint
"
\n
Table Insert Postion<Exit>:"
)
)
(
progn
(
setq
lst
(
xd::table:celltile
(
list
"Number"
"Coding"
"Aperture"
"Coord X"
"Coord Y"
)
1
lst
)
lst
(
cons
(
list
"Hole Number Table"
nil
nil
nil
nil
)
lst
)
)
(
XD::Table:MakeFromList
lst
(
trans
pt
1
0
)
#xd_var_text_height
(
/
#xd_var_text_height
2.0
)
)
(
xdrx
-
setpropertyvalue
(
entlast
)
"color"
7
)
)
)
(
princ
)
)
(
defun
_format
(
val
)
(
xdrx_string_regexpr
"(?<=
\\
.[0-9]+)0{1,}$"
val
""
)
)
(
defun
_write
(
lst
)
(
setq
tlst2
nil
)
(
setq
class1
"A"
)
(
mapcar
'
(
lambda
(
x
)
(
setq
class2
"0"
)
(
mapcar
'
(
lambda
(
y
/
)
(
setq
str1
(
strcat
class1
(
setq
class2
(
itoa
(
1+
(
atoi
class2
)
)
)
)
)
)
(
xdrx_text_make
(
cadr
y
)
str1
#xd_var_text_height
(
xd::ucs:
angle
)
)
(
XD::Text:AdjustAlignMent
(
entlast
)
1
2
)
(
xdrx_entity_move
(
entlast
)
(
trans
(
xd::geom:get9pt
(
entlast
)
5
)
1
0
)
(
cadr
y
)
)
(
setq
str2
(
strcat
"Φ"
(
rtos
(
*
2
(
last
y
)
)
2
#xd_var_text_bits
)
)
y
(
trans
(
cadr
y
)
0
1
)
)
(
setq
tlst2
(
cons
(
list
str1
str2
(
_format
(
rtos
(
car
y
)
2
4
)
)
(
_format
(
rtos
(
cadr
y
)
2
4
)
)
)
tlst2
)
)
)
x
)
(
setq
class1
(
chr
(
1+
(
ascii
class1
)
)
)
)
)
lst
)
(
_maketable
(
reverse
tlst2
)
)
)
(
if
(
not
#xd_var_text_height
)
(
setq
#xd_var_text_height
3.5
)
)
(
if
(
setq
val
(
getreal
(
xdrx_prompt
"
\n
Text Height<"
#xd_var_text_height
">:"
t
)
)
)
(
setq
#xd_var_text_height val
)
)
(
if
(
not
#xd_var_text_bits
)
(
setq
#xd_var_text_bits
1
)
)
(
if
(
setq
val
(
getint
(
xdrx_prompt
"
\n
Enter the number of decimal places<"
#xd_var_text_bits
">:"
t
)
)
)
(
setq
#xd_var_text_bits val
)
)
(
if
(
setq
ss
(
xd::
ssget
"
\n
Select the circle of statistics <Exit>"
'
(
(
(
0
.
"circle"
)
)
)
)
)
(
progn
(
xdrx_begin
)
(
xdrx_sysvar_push '
(
"dimzin"
0
)
)
(
setq
ents
(
mapcar
'
(
lambda
(
x
)
(
list
(
xdrx_getpropertyvalue x
"area"
)
(
cons
x
(
xdrx_getpropertyvalue x
"center"
"radius"
)
)
)
)
(
xdrx_pickset
->
ents ss
)
)
)
(
setq
ents
(
xd::
list
:groupbyindex ents
0.0
)
)
(
setq
ents
(
vl-sort
ents '
(
lambda
(
x y
)
(
<
(
car
x
)
(
car
y
)
)
)
)
)
(
setq
ents
(
mapcar
'
(
lambda
(
x
)
(
setq
y
(
cdr
x
)
)
(
vl-sort
y
'
(
lambda
(
x1 y1
)
(
<
(
car
(
xdrx_getpropertyvalue
(
car
x1
)
"center"
)
)
(
car
(
xdrx_getpropertyvalue
(
car
y1
)
"center"
)
)
)
)
)
)
ents
)
)
(
xd::text:init
1
)
(
_write ents
)
(
xdrx_end
)
)
)
(
princ
)
)
«
Last Edit: December 04, 2023, 08:28:35 AM by xdcad
»
Logged
The code I wrote uses XDRX-API,which can be downloaded from github.com and is updated at any time.
===================================
https://github.com/xdcad
https://sourceforge.net/projects/xdrx-api-zip/
http://bbs.xdcad.net
Print
Pages: [
1
] |
Go Up
« previous
next »
TheSwamp
»
Code Red
»
AutoLISP (Vanilla / Visual)
»
XDRX-API
»
Topic:
[XDrX-PlugIn(36)] Hole (circle) statistical details table