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)
»
Topic:
Help volume from contours
« previous
next »
Print
Pages: [
1
] |
Go Down
Author
Topic: Help volume from contours (Read 1014 times)
0 Members and 1 Guest are viewing this topic.
mhy3sx
Newt
Posts: 120
Help volume from contours
«
on:
July 01, 2023, 10:04:52 AM »
can any one help me to fix this code
Code - Auto/Visual Lisp:
[Select]
(
defun
c:test2
(
/
_foo _rtos a b r s v tbl
)
(
defun
_foo
(
e
)
(
list
(
vlax-curve-getarea
e
)
(
cdr
(
assoc
38
(
entget
e
)
)
)
)
)
(
defun
_rtos
(
n
)
(
rtos
n
2
2
)
)
(
setq
tbl
(
vlax
-
make
-
safearray
vlax-vbDouble
(
cons
1
6
)
)
)
(
cond
(
(
and
(
setq
s
(
ssget
'
(
(
0
.
"*polyline"
)
(
-
4
.
"&="
)
(
70
.
1
)
)
)
)
(
setq
s
(
vl
-
remove
-
if
'
listp
(
mapcar
'
cadr
(
ssnamex
s
)
)
)
)
)
(
setq
s
(
mapcar
'_foo s
)
)
(
setq
s
(
vl-sort
s '
(
lambda
(
r j
)
(
>
(
car
r
)
(
car
j
)
)
)
)
)
(
setq
row
0
)
(
vlax-for
val s
(
setq
a
(
car
val
)
b
(
cadr
val
)
)
;; calculate the results
(
setq
A1
(
car
a
)
A2
(
car
b
)
Dh
(
abs
(
-
(
cadr
a
)
(
cadr
b
)
)
)
sum
(
*
(
+
A1 A2
)
Dh
0.50
)
V
(
*
A1 Dh
0.50
)
)
;; insert the results in table
(
vla
-
put
-
value tbl
(
vlax
-
make
-
safearray
-
index
(
list
(
setq
row
(
1+
row
)
)
0
)
)
A1
)
(
vla
-
put
-
value tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
1
)
)
A2
)
(
vla
-
put
-
value tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
2
)
)
Dh
)
(
vla
-
put
-
value tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
3
)
)
sum
)
(
vla
-
put
-
value tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
4
)
)
V
)
)
;; print table
(
princ
"Elevation A1 A2 Dh (A1+A2) x Dh x 0.50 V"
)
(
setq
row
0
)
(
while
(
<
(
setq
row
(
1+
row
)
)
(
vla
-
get
-
dim2 tbl
1
)
)
(
setq
A1
(
vla-get-value
tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
0
)
)
)
A2
(
vla-get-value
tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
1
)
)
)
Dh
(
vla-get-value
tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
2
)
)
)
sum
(
vla-get-value
tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
3
)
)
)
V
(
vla-get-value
tbl
(
vlax
-
make
-
safearray
-
index
(
list
row
4
)
)
)
)
(
princ
(
strcat
"
\n
"
(
_rtos A1
)
" "
(
_rtos A2
)
" "
(
_rtos Dh
)
" "
(
_rtos sum
)
" "
(
_rtos V
)
)
)
)
(
princ
)
)
)
Thanks
Logged
DEVITG
Bull Frog
Posts: 481
Re: Help volume from contours
«
Reply #1 on:
July 13, 2023, 04:06:20 PM »
@mhy3sx. please upload the lost defund
Quote
vlax-make-safearray-index
Logged
Location @ Córdoba Argentina Using ACAD 2019 at Window 10
ribarm
Gator
Posts: 3310
Marko Ribar, architect
WWW
Re: Help volume from contours
«
Reply #2 on:
July 14, 2023, 02:26:08 AM »
I could be wrong, but I suspect that missing functions look like this :
Code - Auto/Visual Lisp:
[Select]
(
defun
vlax
-
make
-
safearray
-
index
(
lst
)
(
vlax-safearray-fill
lst
)
)
(
defun
vla
-
get
-
dim2
(
a b
)
(
-
(
safearray-get-dim
a
)
b
)
)
«
Last Edit: July 14, 2023, 03:15:20 AM by ribarm
»
Logged
Marko Ribar, d.i.a.
(graduated engineer of architecture)
M.R. on Youtube
Print
Pages: [
1
] |
Go Up
« previous
next »
TheSwamp
»
Code Red
»
AutoLISP (Vanilla / Visual)
»
Topic:
Help volume from contours