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:
some questions
« previous
next »
Print
Pages: [
1
] |
Go Down
Author
Topic: some questions (Read 784 times)
0 Members and 1 Guest are viewing this topic.
masao
Newt
Posts: 97
some questions
«
on:
June 17, 2023, 03:08:10 AM »
if line angle same , why can not get ang5 ang6.
Logged
ribarm
Gator
Posts: 3308
Marko Ribar, architect
WWW
Re: some questions
«
Reply #1 on:
June 17, 2023, 01:42:12 PM »
Here, I think I corrected it... See if this is what you need...
Code - Auto/Visual Lisp:
[Select]
(
defun
c:vv2
(
/
cmd osm en1 en2 osm en1_data pts ptm px py pte ptn pxa pya en2_data pts1 ptm1 ptm1 px1 py1 pte1 ptn1 pxa1 pya1 pt1 pt2 pt3 pt4 a ang1 ang2 ang3 ang4 ang5 ang6 po po1 r dm1 ucsf
)
(
defun
*error*
(
m
)
(
if
osm
(
setvar
"osmode"
osm
)
)
(
if
cmd
(
setvar
"cmdecho"
cmd
)
)
(
if
m
(
prompt
m
)
)
(
princ
)
)
(
setq
osm
(
getvar
"osmode"
)
)
(
setq
cmd
(
getvar
"cmdecho"
)
)
(
setvar
"osmode"
0
)
(
setvar
"cmdecho"
0
)
(
while
(
and
(
not
en1
)
(
not
en2
)
)
(
setq
en1
(
entsel
"
\n
->select first line : "
)
)
(
while
(
not
en1
)
(
setq
en1
(
entsel
"
\n
Missed...->not first select : "
)
)
)
(
setq
en2
(
entsel
"
\n
->select second line : "
)
)
(
while
(
or
(
not
en2
)
(
equal
(
car
en2
)
(
car
en1
)
)
)
(
if
(
not
en2
)
(
setq
en2
(
entsel
"
\n
Missed...->select second line : "
)
)
(
princ
"->cant select same primitive"
)
)
)
)
(
initget
7
)
(
setq
r
(
getdist
"
\n
Pick or specify circle radius : "
)
)
(
setq
dm1
(
*
(
*
r
2
)
0.33
)
)
;move distance
(
command
"_.undo"
"_begin"
)
(
if
(
=
0
(
getvar
"worlducs"
)
)
(
progn
(
command
"_.ucs"
"_world"
)
(
setq
ucsf t
)
)
)
(
setq
en1_data
(
entget
(
car
en1
)
)
)
(
setq
pts
(
assoc
10
en1_data
)
)
(
setq
ptm
(
cdr
pts
)
)
(
setq
px
(
car
ptm
)
)
(
setq
py
(
cadr
ptm
)
)
(
setq
pte
(
assoc
11
en1_data
)
)
(
setq
ptn
(
cdr
pte
)
)
(
setq
pxa
(
car
ptn
)
)
(
setq
pya
(
cadr
ptn
)
)
;first line
(
setq
en2_data
(
entget
(
car
en2
)
)
)
(
setq
pts1
(
assoc
10
en2_data
)
)
(
setq
ptm1
(
cdr
pts1
)
)
(
setq
px1
(
car
ptm1
)
)
(
setq
py1
(
cadr
ptm1
)
)
(
setq
pte1
(
assoc
11
en2_data
)
)
(
setq
ptn1
(
cdr
pte1
)
)
(
setq
pxa1
(
car
ptn1
)
)
(
setq
pya1
(
cadr
ptn1
)
)
;second line
(
setq
pt1
(
list
px py
)
)
(
setq
pt2
(
list
pxa pya
)
)
(
setq
pt3
(
list
px1 py1
)
)
(
setq
pt4
(
list
pxa1 pya1
)
)
(
setq
a
(
inters
pt1 pt2 pt3 pt4
nil
)
)
;Intersection
(
setq
ang1
(
angle
a pt1
)
)
(
setq
ang2
(
angle
a pt2
)
)
(
setq
ang3
(
angle
a pt3
)
)
(
setq
ang4
(
angle
a pt4
)
)
(
cond
(
(
equal
ang1 ang3 1e
-
6
)
(
setq
ang5 ang2
)
(
setq
ang6 ang4
)
)
(
(
equal
ang1 ang4 1e
-
6
)
(
setq
ang5 ang2
)
(
setq
ang6 ang3
)
)
(
(
equal
ang2 ang3 1e
-
6
)
(
setq
ang5 ang1
)
(
setq
ang6 ang4
)
)
(
(
equal
ang2 ang4 1e
-
6
)
(
setq
ang5 ang1
)
(
setq
ang6 ang3
)
)
(
(
equal
ang1 ang2 1e
-
6
)
(
setq
ang5 ang1
)
(
setq
ang6 ang3
)
)
(
(
equal
ang3 ang4 1e
-
6
)
(
setq
ang5 ang2
)
(
setq
ang6 ang4
)
)
)
(
setq
po
(
polar
a ang5 dm1
)
)
(
setq
po1
(
polar
a ang6 dm1
)
)
(
command
"_.circle"
"_non"
a r
)
(
command
"_.mirror"
(
entlast
)
""
"_non"
po
"_non"
po1
"y"
)
(
if
ucsf
(
command
"_.ucs"
"_previous"
)
)
(
command
"_.undo"
"_end"
)
(
*error*
nil
)
)
HTH.
M.R.
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:
some questions