乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: eddablin

[编程交流] 围绕

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:42:47 | 显示全部楼层
 
我的代码只是针对最初的问题设计的——它不是通用的。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:47:55 | 显示全部楼层
这将以其中心处的基点缩放正方形。
 
  1. (defun c:scl  (/ ss scl st 3p)
  2. (vl-load-com)
  3. (or scale:def (setq scale:def 0.)
  4. (if (setq ss (ssget
  5.                      (list (cons 0 "*Polyline")
  6.                            (cons 8 "Columns")
  7.                            (if (getvar "CTAB")
  8.                              (cons 410 (getvar "CTAB"))
  9.                              (cons 67 (- 1 (getvar "TILEMODE")))))))
  10.    (progn
  11.      (initget 6)
  12.      (setq scl (getreal (strcat "\nSpecify Scale Factor <" (rtos scale:def) "> : ")))
  13.      (or (not scl) (setq scale:def scl))
  14.      (foreach x  (mapcar 'vlax-ename->vla-object
  15.                          (mapcar 'cadr (ssnamex ss)))
  16.        (setq st (vlax-curve-getStartPoint x)
  17.              3p (vlax-curve-getPointatParam x 2.0))
  18.        (vla-scaleEntity x
  19.          (vlax-3D-point
  20.            (polar st (angle st 3p) (/ (distance st 3p) 2.0))) scale:def)))
  21.    (princ "\n<!> No Lines Found <!>"))
  22. (princ))

 
尽管如此,它还是做出了很多假设——比如它们是完全正方形的,等等
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 22:03 , Processed in 0.566098 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表