pythonocc_PythonOCC基础使用:点的性质(glsl定义)

该博客介绍了一个Python脚本,它利用OCC库来创建3D点,并通过遍历不同的Aspect_TOM点样式进行展示。每个点的位置由x, y, z坐标定义,并根据坐标值赋予颜色。脚本最后将所有点显示在图形窗口中,并适配显示。
摘要由CSDN通过智能技术生成

此处用于定义点的性质(例如起点,落定点,中心点等)

?i=20200127115334207.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjc1NTM4NA==,size_16,color_FFFFFF,t_70

import sys

from OCC.Core.gp import gp_Pnt

from OCC.Core.Geom import Geom_CartesianPoint

from OCC.Core.Quantity import Quantity_Color, Quantity_TOC_RGB

from OCC.Core.Aspect import (Aspect_TOM_POINT,

Aspect_TOM_PLUS,

Aspect_TOM_STAR,

Aspect_TOM_X,

Aspect_TOM_O,

Aspect_TOM_O_POINT,

Aspect_TOM_O_PLUS,

Aspect_TOM_O_STAR,

Aspect_TOM_O_X,

Aspect_TOM_RING1,

Aspect_TOM_RING2,

Aspect_TOM_RING3,

Aspect_TOM_BALL)

from OCC.Core.AIS import AIS_Point

from OCC.Core.Prs3d import Prs3d_PointAspect, Prs3d_Drawer

from OCC.Display.SimpleGui import init_display

display, start_display, add_menu, add_function_to_menu = init_display()

ALL_ASPECTS = [Aspect_TOM_POINT,

Aspect_TOM_PLUS,

Aspect_TOM_STAR,

Aspect_TOM_X,

Aspect_TOM_O,

Aspect_TOM_O_POINT,

Aspect_TOM_O_PLUS,

Aspect_TOM_O_STAR,

Aspect_TOM_O_X,

Aspect_TOM_RING1,

Aspect_TOM_RING2,

Aspect_TOM_RING3,

Aspect_TOM_BALL]

def pnt():

# create a point

for idx in range(10):

for idy in range(10):

for idz, aspect in enumerate(ALL_ASPECTS):

x = 0 + idx * 0.1

y = 0 + idy * 0.1

z = 0 + idz / len(ALL_ASPECTS)

p = Geom_CartesianPoint(gp_Pnt(x, y, z))

color = Quantity_Color(x / len(ALL_ASPECTS), 0, z, Quantity_TOC_RGB)

ais_point = AIS_Point(p)

drawer = ais_point.Attributes()

asp = Prs3d_PointAspect(aspect, color, 3)

drawer.SetPointAspect(asp)

ais_point.SetAttributes(drawer)

display.Context.Display(ais_point, False)

display.FitAll()

start_display()

def exit(event=None):

sys.exit()

if __name__ == '__main__':

pnt()

3_weixin_42755384

2.png

小新快跑123

发布了102 篇原创文章 · 获赞 39 · 访问量 6万+

私信

关注

标签:glsl,Core,定义,OCC,PythonOCC,Aspect,TOM,import,display

来源: https://blog.csdn.net/weixin_42755384/article/details/104091793

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值