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:
Offset Point
« previous
next »
Print
Pages: [
1
] |
Go Down
Author
Topic: Offset Point (Read 1271 times)
0 Members and 1 Guest are viewing this topic.
ScottMC
Newt
Posts: 192
Offset Point
«
on:
August 31, 2021, 10:42:46 AM »
Offsets from object start-point distance by pick or entry. If there's any suggestions.. Thanks for input! Source page: dubb..
https://www.theswamp.org/index.php?topic=52715.msg576003#msg576003
Agree BIGAL..
Code - Auto/Visual Lisp:
[Select]
(
defun
c:ko
(
/
newlen plotpt pt offset ang side
)
(
princ
"
\n
Insert Point using Offset."
)
(
ssget
"_X"
'
(
(
0
.
"ARC,LINE,*POLYLINE"
)
)
)
(
while
(
and
(
not
(
setq
ent
(
car
(
entsel
"
\n
>> Select *Line/Arc to Offset FROM >>"
)
)
)
)
)
(
/=
(
getvar
"ERRNO"
)
52
)
)
(
setq
newlen
0
offset
0
)
;_ end of setq
(
setq
plotpt
(
getdist
"
\n
Enter/Pick Distance from Start of Reference: "
)
)
;_ end of setq
(
setq
offset
(
getdist
"
\n
Enter/Pick Offset Distance: "
)
)
;_ end of setq
(
setq
newlen
(
+
plotpt newlen
)
)
(
setq
pt
(
vlax-curve-getpointatdist
ent newlen
)
)
(
setq
ang
(
angle
'
(
0.0
0.0
)
(
trans
(
vlax-curve-getfirstderiv
ent
(
vlax-curve-getparamatpoint
ent pt
)
)
;_ end of vlax-curve-getfirstderiv
0
ent
t
)
;_ end of trans
)
;_ end of angle
)
;_ end of setq
(
initget
"A B I O L R"
)
(
setq
side
(
getkword
"
\n
Enter Side Above/Inside/Left or Below/Outside/Right [A/I/L/B/O/R]: <On> "
)
;_ end of getkword
)
;_ end of setq
(
cond
(
(
or
(
=
side
"A"
)
(
=
side
"I"
)
(
=
side
"R"
)
)
;_ end of or
(
setq
ang
(
+
ang
(
/
pi
2.0
)
)
)
)
(
(
or
(
=
side
"B"
)
(
=
side
"O"
)
(
=
side
"L"
)
)
;_ end of or
(
setq
ang
(
-
ang
(
/
pi
2.0
)
)
)
)
)
;_ end of cond
(
setq
obj
(
vlax
-
ename
->
vla-object
ent
)
)
(
setq
pt
(
polar
pt ang offset
)
)
(
entmakex
(
list
(
cons
0
"POINT"
)
(
cons
10
pt
)
(
cons
8
"non-print"
)
)
;_ end of list
)
;_ end of entmakex
;;(princ "\Point Added")
(
princ
)
)
;_ end of defun
EDIT (John): Added code tags.
«
Last Edit: September 03, 2021, 08:50:02 AM by ScottMC
»
Logged
BIGAL
Swamp Rat
Posts: 1413
40 + years of using Autocad
Re: Offset Point
«
Reply #1 on:
September 02, 2021, 08:52:24 PM »
1.5707963267948966192313216916395
(setq ang (+ ang (/ pi 2.0)))
or if lots of std angs
(setq pi90 (/ pi 2.0) pi45 (* pi 0.25) pi135 (* 0.75 pi) and so on.
Logged
A man who never made a mistake never made anything
Print
Pages: [
1
] |
Go Up
« previous
next »
TheSwamp
»
Code Red
»
AutoLISP (Vanilla / Visual)
»
Topic:
Offset Point