zoukankan      html  css  js  c++  java
  • AutoCAD LISP以圆心为中点,圆的缩放操作

    AutoCAD LISP圆放大缩小操作,代码如下。

    (defun c:cira()
      (setvar "cmdecho" 0)
      (setq cir (entsel "Select CIRCLE to <Scale 0.5>:"))
      (setq cir_data (entget (car cir)))
      (setq old_rad_list (assoc 40 cir_data))
      (setq old_rr (cdr old_rad_list))
      (setq new_rr (* old_rr 0.5))
      (setq new_rad_list (cons 40 new_rr))
      (setq cir_data (subst new_rad_list old_rad_list cir_data))
      (entmod cir_data)
      (prin1)
      )
    (defun c:cirb()
      (setvar "cmdecho" 0)
      (setq cir (entsel "Select CIRCLE to <Scale 2>:"))
      (setq cir_data (entget (car cir)))
      (setq old_rad_list (assoc 40 cir_data))
      (setq old_rr (cdr old_rad_list))
      (setq new_rr (* old_rr 2))
      (setq new_rad_list (cons 40 new_rr))
      (setq cir_data (subst new_rad_list old_rad_list cir_data))
      (entmod cir_data)
      (prin1)
      )
    (prompt "******<<C:CIRA>>******<<C:CIRB>>*******")
    (prin1)

    代码完。

    修改一下,安指定值进行缩放,代码如下。

    (defun c:cira()
      (setvar "cmdecho" 0)
      (setq cir (entsel "Select CIRCLE to <Scale>:"))
      (setq a (getreal "\n请输入缩放系数:"))
      (setq cir_data (entget (car cir)))
      (setq old_rad_list (assoc 40 cir_data))
      (setq old_rr (cdr old_rad_list))
      (setq new_rr (* old_rr a))
      (setq new_rad_list (cons 40 new_rr))
      (setq cir_data (subst new_rad_list old_rad_list cir_data))
      (entmod cir_data)
      (prin1)
      )

    代码完。

    作者:codee
    文章千古事,得失寸心知。


  • 相关阅读:
    爬虫之四种数据解析方式
    爬虫之爬虫概述
    <转载>面试官,不要再问我三次握手和四次挥手
    <转载>面试官: 讲讲MySql表设计需要注意什么?
    HTTP协议的特点
    Django之FORM
    Django之ajax
    csrf的中间件
    Django之中间件
    删除/tmp目录下txt文件
  • 原文地址:https://www.cnblogs.com/bimgoo/p/2502944.html
Copyright © 2011-2022 走看看