明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: ljcgq

怎样将柱体表面的闭和曲线按照柱坐标的角度等分成小段?

  [复制链接]
 楼主| 发表于 2004-2-23 20:46:00 | 显示全部楼层
命令: _appload 已成功加载 TT.lsp。
命令:
命令:
命令: 指定对角点:
命令: tt 選閉合曲線: ; 错误: no function definition: VLAX-ENAME->VLA-OBJECT
发表于 2004-2-23 21:04:00 | 显示全部楼层
要加载(vl-load-com)以支持VLISP扩展函数
 楼主| 发表于 2004-3-6 18:54:00 | 显示全部楼层
谢谢meflying 龙龙仔,我运行了,但是返回的好象不是柱坐标
 楼主| 发表于 2004-3-6 18:57:00 | 显示全部楼层
meflying 龙龙仔 --不好意思,我对vl很生,能把你的程序思路给我解释一下么?
发表于 2004-5-20 09:10:00 | 显示全部楼层

;;只列出點表

;;展開的計算就交給你(LJCGQ)

;|

指令: TTT

選閉合曲線:

中心點:

半徑: 50

等分角度: 1

|;

(defun C:TTT

(/ HOLDOSMODE HOLDECHO PT PT1 PT2 OBJ CPT RAD ANG PT_LIST N AA)

(setq OBJ (vlax-ename->vla-object (car (entsel "\n選閉合曲線: "))))

(setq CPT (trans (getpoint "\n中心點: ") 1 0))

(setq RAD (getdist "\n半徑: ")

N 0

)

(while (progn

(initget 7)

(setq ANG (getreal "\n等分角度: "))

(/= 0 (rem 360 ANG))

)

)

(setq HOLDECHO (getvar "cmdecho"))

(setvar "cmdecho" 0)

(command "_.ucs" "")

(setq HOLDOSMODE (getvar "osmode"))

(setvar "osmode" 0)

(setq SS (ssadd))

(while (> 360 (* N ANG))

(setq PT1 (polar CPT (/ (* (* N ANG) pi) 180) RAD))

(setq PT2 (list (car PT1) (cadr PT1) 1))

(command "_.line" PT1 PT2 "")

(ssadd (entlast) SS)

(setq PT (vlax-safearray->list

(vlax-variant-value

(vla-intersectwith

OBJ

(vlax-ename->vla-object (entlast))

acextendotherentity

)

)

)

)

(setq PT_LIST (cons PT PT_LIST))

(setq N (1+ N))

)

(command "_.erase" SS "")

;;測試

(setq AA (reverse PT_LIST))

(command "3dpoly" (nth 0 AA))

(apply 'command (cdr AA))

(command "c")

;;

(command "_.ucs" "p")

(setvar "osmode" HOLDOSMODE)

(setvar "cmdecho" HOLDECHO)

)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2004-5-20 21:59:00 | 显示全部楼层
谢谢斑竹,我回去完善。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 04:22 , Processed in 0.153877 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表